Wojtekd

Funkcje Suma,Doskonała,Doskonałe w przedziale

Dec 8th, 2014
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int suma(int, int);
  4. int liczbaZnakow(int liczba);
  5. int doskonala(int liczba);
  6. void wszystkieDoskonale(int,int);
  7.  
  8.  
  9. int main( void )
  10. {
  11.     wszystkieDoskonale(0,50000);
  12.     //printf("%d \n", wynik);
  13.     return 0;
  14. }
  15. int suma(int a, int b)
  16. {
  17.     return a + b;
  18. }
  19. int liczbaZnakow(int liczba)
  20. {
  21.     int suma = 0;
  22.     while(1)
  23.     {
  24.         int reszta = liczba % 10;
  25.         suma += reszta;
  26.         liczba = liczba/10;
  27.  
  28.         if(reszta == 0)
  29.         {
  30.             return suma;
  31.         }
  32.     }
  33. }
  34. // sprawdź czy liczba jest doskonała
  35. int doskonala(int liczba)
  36. {
  37.     int suma = 0;
  38.     for(int i = 1; i < liczba; i++)
  39.     {
  40.         if(liczba % i == 0)
  41.         {
  42.             suma += i;
  43.         }
  44.     }
  45.     if(suma == liczba)
  46.     {
  47.         return suma;
  48.     }
  49.     else
  50.     {
  51.         return 0;
  52.     }
  53. }
  54. // podaj liczby doskonałe z przedziału
  55. void wszystkieDoskonale(int min, int max)
  56. {
  57.     for(int i = min; i < max; i++)
  58.     {
  59.         int d = doskonala(i);
  60.         if(d)
  61.         {
  62.             printf("%d \n",d);
  63.         }
  64.     }
  65. }
Add Comment
Please, Sign In to add comment