C Programm kontrollimaks, kas numbrit saab väljendada kahe algarvu summana

Selles näites õpitakse kontrollima, kas kasutaja sisestatud täisarvu saab väljendada kõigi võimalike kombinatsioonide kahe algarvu summana.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest C-programmeerimise teemadest:

  • C kui … muidu avaldus
  • C silmuse jaoks
  • C funktsioonid
  • C Kasutaja määratud funktsioonid

Selle ülesande täitmiseks loome funktsiooni nimega checkPrime().

checkPrime()Tagastab 1, kui number edastatakse funktsioon on algarv.

Täisarv kahe peaarvu summana

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

Väljund

Sisestage positiivne täisarv: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Huvitavad Artiklid...