C programa, skirta patikrinti, ar skaičių galima išreikšti kaip dviejų pirminių skaičių sumą

Šiame pavyzdyje išmoksite patikrinti, ar vartotojo įvestas sveikasis skaičius gali būti išreikštas dviejų visų galimų derinių pirminių skaičių suma.

Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:

  • C jei … dar pareiškimas
  • C kilpai
  • C funkcijos
  • C Vartotojo nustatytos funkcijos

Norėdami atlikti šią užduotį, sukursime funkciją, pavadintą checkPrime().

Į checkPrime()grįžta 1, jei skaičius perduota funkcija yra pirminis skaičius.

Sveikas skaičius kaip dviejų pirminių skaičių suma

#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; ) 

Rezultatas

Įveskite teigiamą sveikąjį skaičių: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Įdomios straipsniai...