C言語の例 - ある数が2つの素数の和であるかどうかを計算する

C 语言实例C言語の例

ある数が2つの素数の和であるかを計算します。

例

#include <stdio.h> int checkPrime(int n); int main() { int n, i, flag = 0; printf("正の整数を入力:"); scanf("%d", &n); for(i = 2; i <= n/2; ++i) { // 検出・判定 if (checkPrime(i) == 1) { if (checkPrime(n-i) == 1) { printf("%d = %d + %d\n", n, i, n - i); flag = 1; } } } if (flag == 0) printf("%d は2つの素数に分解できません。", n); return 0; } // 素数を判定する int checkPrime(int n) { int i, isPrime = 1; for(i = 2; i <= n/2; ++i) { if(n % i == 0) { isPrime = 0; break; } } return isPrime; }

出力結果は次のとおりです:

输入正整数: 34
34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 17

C 语言实例C言語の例

その他の拡張