Програма C за проверка дали дадено число може да бъде изразено като сбор от две прости числа

В този пример ще се научите да проверявате дали цяло число, въведено от потребителя, може да бъде изразено като сбор от две прости числа от всички възможни комбинации.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C:

  • C if… else Изявление
  • C за Loop
  • C Функции
  • C Потребителски дефинирани функции

За да изпълним тази задача, ще създадем функция с име checkPrime().

На checkPrime()връща 1, ако броят предава на функцията е просто число.

Цяло число като сума от две прости числа

#include int checkPrime(int n); int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for i to be a prime number if (checkPrime(i) == 1) ( // condition for n-i to be a prime number if (checkPrime(n - i) == 1) ( printf("%d = %d + %d", n, i, n - i); flag = 1; ) ) ) if (flag == 0) printf("%d cannot be expressed as the sum of two prime numbers.", n); return 0; ) // function to check prime number int checkPrime(int n) ( int i, isPrime = 1; for (i = 2; i <= n / 2; ++i) ( if (n % i == 0) ( isPrime = 0; break; ) ) return isPrime; ) 

Изход

Въведете положително цяло число: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Интересни статии...