I det här exemplet lär du dig att kontrollera om ett heltal som anges av användaren kan uttryckas som summan av två primtal av alla möjliga kombinationer.
För att förstå detta exempel bör du ha kunskap om följande C-programmeringsämnen:
- C if… else Uttalande
- C för loop
- C Funktioner
- C Användardefinierade funktioner
För att utföra denna uppgift kommer vi att skapa en funktion med namnet checkPrime()
.
De checkPrime()
återvänder 1 om antalet skickas till funktionen är ett primtal.
Heltal som en summa av två primtal
#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; )
Produktion
Ange ett positivt heltal: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17