Advertisement
VF-

Untitled

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