Advertisement
VF-

Untitled

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