VF-

Untitled

VF-
Nov 18th, 2022
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.21 KB | Source Code | 0 0
  1. #include <stdio.h>
  2.  
  3. int tokeletes(int szam);
  4. int kisebboszto_osszeg(int szam);
  5. int count(int x);
  6. void int_beolvas(int* x);
  7.  
  8. int main() {
  9.     // fuggvenyek hivasa, eredmeny kiirasa
  10.  
  11.     int szam;
  12.  
  13.     int_beolvas(&szam);
  14.  
  15.     printf("1..%d közt %d tökéletes szám van\n", szam, count(szam));
  16.  
  17.     return 0;
  18. }
  19.  
  20. int tokeletes (int szam) {
  21.     // egy szamrol annak megallapitasa, hogy tokeletes-e
  22.    
  23.     return kisebboszto_osszeg(szam) == szam;
  24. }
  25.  
  26. int kisebboszto_osszeg(int szam) {
  27.     // egy szamnak a nala kisebb osztoi osszegenek kiszamitasa
  28.    
  29.     int eredmeny = 0;
  30.    
  31.     for (int i = 1; i < szam; i++) {
  32.         if (szam % i == 0) {
  33.             eredmeny += i;
  34.         }
  35.     }
  36.    
  37.     return eredmeny;
  38. }
  39.  
  40. int count(int x) {
  41.     // az osszegzes elvegzese
  42.    
  43.     int eredmeny = 0;
  44.    
  45.     for (int i = 1; i <= x; i++) {
  46.         if (tokeletes(i)) {
  47.             eredmeny++;
  48.         }
  49.     }
  50.    
  51.     return eredmeny;
  52. }
  53.  
  54. void int_beolvas (int* x) {
  55.     // 1 db integer ertek ellenorzott beolvasasa
  56.    
  57.     while (1) {
  58.         printf("szám: ");
  59.         scanf("%d", x);
  60.  
  61.         if (*x > 1) {
  62.             break;
  63.         }
  64.  
  65.         printf("Invalid input\n");
  66.     }
  67. }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment