Advertisement
dmilicev

prime numbers between a and b v1.c

Oct 1st, 2019
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.32 KB | None | 0 0
  1. /*
  2.  
  3. Write a subroutine in programming language C that determine
  4. whether the given number is prime number.
  5.  
  6. Write a program that at a given interval [a, b]
  7. counts how many prime numbers there are.
  8.  
  9. */
  10.  
  11. #include <stdio.h>
  12. #include <math.h>                   // because we use sqrt()
  13.  
  14. int Number_of_iterations;           // global variable, counter of iterations
  15.  
  16. // Function:
  17. // If the number is prime, function returns that number, otherwise returns 0
  18. int IsPrimeNumber_1(int number)
  19. {
  20.     int i;                          // counter for loop
  21.                                     // i<number !!!
  22.     for(i=2; i<number; i++)         // it is enough to go to the number !
  23.         if(number % i == 0)         // if the number is divisible by i,
  24.             return 0;               // it is not prime number
  25.  
  26.     Number_of_iterations=i;         // global variable, counter of iterations
  27.     return number;                  // number is prime number
  28. }
  29.  
  30.  
  31. // Better function:
  32. // If the number is prime, function returns that number, otherwise returns 0
  33. int IsPrimeNumber_2(int number)
  34. {
  35.     int i;                          // counter for loop
  36.                                     // i<=number/2 !!!
  37.     for(i=2; i<=number/2; i++)      // it is enough to go to the number/2 !
  38.         if(number % i == 0)         // if the number is divisible by i,
  39.             return 0;               // it is not prime number
  40.  
  41.     Number_of_iterations=i;         // global variable, counter of iterations
  42.     return number;                  // number is prime number
  43. }
  44.  
  45.  
  46. // Best function, least iterations:
  47. // If the number is prime, function returns that number, otherwise returns 0
  48. int IsPrimeNumber_3(int number)
  49. {
  50.     int i;                          // counter for loop
  51.                                     // i<=sqrt(number) !!!
  52.     for(i=2; i<=sqrt(number); i++)  // it is enough to go to the root of the number !
  53.         if(number % i == 0)         // if the number is divisible by i,
  54.             return 0;               // it is not prime number
  55.  
  56.     Number_of_iterations=i;         // global variable, counter of iterations
  57.     return number;                  // number is prime number
  58. }
  59.  
  60.  
  61. int main(void)
  62. {                                   //  low and high are the limits of the interval
  63.     int i,low,high,number,sum_of_prime_numbers,prime_numbers_counter;
  64.  
  65.     printf("\n\n Enter the limits of the interval low high : ");
  66.     scanf("%d %d",&low,&high);
  67.  
  68.  
  69.     printf("\n\n Function IsPrimeNumber_1 :\n");
  70.     printf("\n Prime numbers in interval [%d,%d] are: \n\n",low,high);
  71.  
  72.     sum_of_prime_numbers=0;         // reset counter
  73.     prime_numbers_counter=0;        // reset counter
  74.     Number_of_iterations=0;         // reset counter
  75.  
  76.     for(i=low;i<=high;i++)
  77.         if( IsPrimeNumber_1(i) ) {  // if number is prime number
  78.             printf("%4d ",i);
  79.             sum_of_prime_numbers = sum_of_prime_numbers + i;
  80.             prime_numbers_counter++;
  81.         }
  82.  
  83.     printf("\n\n Sum of %d prime numbers in interval [%d,%d] is %d \n",
  84.             prime_numbers_counter,low,high,sum_of_prime_numbers);
  85.  
  86.     printf("\n Function IsPrimeNumber_1 executed %d iterations. \n",
  87.             Number_of_iterations);
  88.  
  89.  
  90.  
  91.     printf("\n\n Function IsPrimeNumber_2 :\n");
  92.     printf("\n Prime numbers in interval [%d,%d] are: \n\n",low,high);
  93.  
  94.     sum_of_prime_numbers=0;         // reset counter
  95.     prime_numbers_counter=0;        // reset counter
  96.     Number_of_iterations=0;         // reset counter
  97.  
  98.     for(i=low;i<=high;i++)
  99.         if( IsPrimeNumber_2(i) ) {  // if number is prime number
  100.             printf("%4d ",i);
  101.             sum_of_prime_numbers = sum_of_prime_numbers + i;
  102.             prime_numbers_counter++;
  103.         }
  104.  
  105.     printf("\n\n Sum of %d prime numbers in interval [%d,%d] is %d \n",
  106.             prime_numbers_counter,low,high,sum_of_prime_numbers);
  107.  
  108.     printf("\n Function IsPrimeNumber_2 executed %d iterations. \n",
  109.             Number_of_iterations);
  110.  
  111.  
  112.  
  113.     printf("\n\n Function IsPrimeNumber_3 :\n");
  114.     printf("\n Prime numbers in interval [%d,%d] are: \n\n",low,high);
  115.  
  116.     sum_of_prime_numbers=0;         // reset counter
  117.     prime_numbers_counter=0;        // reset counter
  118.     Number_of_iterations=0;         // reset counter
  119.  
  120.     for(i=low;i<=high;i++)
  121.         if( IsPrimeNumber_3(i) ) {  // if number is prime number
  122.             printf("%4d ",i);
  123.             sum_of_prime_numbers = sum_of_prime_numbers + i;
  124.             prime_numbers_counter++;
  125.         }
  126.  
  127.     printf("\n\n Sum of %d prime numbers in interval [%d,%d] is %d \n",
  128.             prime_numbers_counter,low,high,sum_of_prime_numbers);
  129.  
  130.     printf("\n Function IsPrimeNumber_3 executed %d iterations. \n",
  131.             Number_of_iterations);
  132.  
  133.  
  134.     return 0;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement