在此示例中,您將學習檢查用戶輸入的整數(shù)是否可以表示為所有可能組合的兩個質數(shù)之和。
要理解此示例,您應該了解以下C語言編程主題:
為了完成此任務,我們將創(chuàng)建一個名為checkPrime()的函數(shù) 。
如果傳遞給函數(shù)的數(shù)量是一個質數(shù),checkPrime()將返回1。
#include <stdio.h> int checkPrime(int n); int main() { int n, i, flag = 0; printf("輸入一個正整數(shù): "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) { //i是質數(shù)的條件 if (checkPrime(i) == 1) { //n-i是質數(shù)的條件 if (checkPrime(n - i) == 1) { printf("%d = %d + %d\n", n, i, n - i); flag = 1; } } } if (flag == 0) printf("%d 不能表示為兩個質數(shù)的和。", n); return 0; } //檢查質數(shù)的函數(shù) int checkPrime(int n) { int i, isPrime = 1; for (i = 2; i <= n / 2; ++i) { if (n % i == 0) { isPrime = 0; break; } } return isPrime; }
輸出結果
輸入一個正整數(shù): 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17