哥德巴赫猜想:任意一个充分大的偶数(》=6)总可以分解成两个素数之和。
思路:对于给定的偶数,先确定一个其值小于它的素数,然后用该偶数减去这个素数,在判定其差值是不是一个素数,若是,则已经实现验证,否则,再确定另一个素数,重复以上步骤,直到找到为止。
#include<stdio.h>
int sushu(int i);
int main()
{
puts("输入一个大于6的偶数");
int n;
scanf("%d", &n);
int i, j;
for (i = 2; i < n; i++) {
if (sushu(i) == 1) {
j = n - i;
if (sushu(j) == 1) {
printf("%d可分解为%d+%d", n, i, j);
break;
}
}
}
return 0;
}
int sushu(int i)
{
int j;
for (j = 2; j < i; j++) {
if (i%j == 0)
return 0;
}
return 1;
}