C Ohjelma tarkistaa, voidaanko luku ilmaista kahden alkuluvun summana

Tässä esimerkissä opit tarkistamaan, voidaanko käyttäjän syöttämä kokonaisluku ilmaista kaikkien mahdollisten yhdistelmien kahden alkuluvun summana.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C-ohjelmointiaiheista:

  • C jos… muuta lausunto
  • C silmukalle
  • C Toiminnot
  • C Käyttäjän määrittelemät toiminnot

Tämän tehtävän suorittamiseksi luomme funktion nimeltä checkPrime().

checkPrime()Palauttaa 1 jos numero välitetään toiminto on alkuluku.

Kokonaisluku kahden pääluvun 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; ) 

Tuotos

Syötä positiivinen kokonaisluku: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

Mielenkiintoisia artikkeleita...