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

Lang L: none (table-of-contents)

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...