Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int tokeletes(int szam);
- int kisebboszto_osszeg(int szam);
- int count(int x);
- void int_beolvas(int* x);
- int main() {
- // fuggvenyek hivasa, eredmeny kiirasa
- int szam;
- int_beolvas(&szam);
- printf("1..%d közt %d tökéletes szám van\n", szam, count(szam));
- return 0;
- }
- int tokeletes (int szam) {
- // egy szamrol annak megallapitasa, hogy tokeletes-e
- return kisebboszto_osszeg(szam) == szam;
- }
- int kisebboszto_osszeg(int szam) {
- // egy szamnak a nala kisebb osztoi osszegenek kiszamitasa
- int eredmeny = 0;
- for (int i = 1; i < szam; i++) {
- if (szam % i == 0) {
- eredmeny += i;
- }
- }
- return eredmeny;
- }
- int count(int x) {
- // az osszegzes elvegzese
- int eredmeny = 0;
- for (int i = 1; i <= x; i++) {
- if (tokeletes(i)) {
- eredmeny++;
- }
- }
- return eredmeny;
- }
- void int_beolvas (int* x) {
- // 1 db integer ertek ellenorzott beolvasasa
- while (1) {
- printf("szám: ");
- scanf("%d", x);
- if (*x > 1) {
- break;
- }
- printf("Invalid input\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment