标题
歌德巴赫猜想
类别
函数与递归
时间限制
2S
内存限制
10000Kb
问题描述
德巴赫猜想:
任意一个大偶数都能分解为两个素数的和,
对与输入的一个正偶数,写一个程序来验证歌德巴赫猜想。
由于每个正偶数可能分解成多组素数和,仅输出分解值分别是最小和最大素数的一组,按从小到大顺序输出。
输入说明
输入一个正偶数n,1<n<1000。
输出说明
输出分解出的两个最小和最大素数。
输入样例
10
输出样例
3 7
#include <stdio.h>
#include <math.h>
int fun(int );
int main() {
int n, i;
scanf("%d", &n);
for (i = 2; i <= n / 2; i++) {
if (fun(i) == 1 && fun(n - i) == 1)
break;
}
printf("%d %d", i, n - i);
return 0;
}
int fun(int a) {
int i;
if (a == 2)
return 1;
if (a == 1)
return 0;
for (i = 2; i <= sqrt(a); i++) {
if (a % i == 0)
return 0;
}
return 1;
}