哥德巴赫猜想
1742年,哥德巴赫(C.Goldbach,1690一1764)提出了一个假设,每一个大于2的偶数是两个质数的和。
请验证100以内的正偶数都能分解为两个素数之和,即验证歌德巴赫猜想对100以内(大于2)的正偶数成立。
将正偶数分解为两部分,再对这两部分进行判断,如果均是素数则满足题意,不是则重新分解继续判断。
int ss(int i)
{
int j;
if (i <= 1)
return 0;
if (i == 2)
return 1;
for (j = 2; j < i; j++)
{
if (i % j == 0)
return 0;
else if (i != j + 1)
continue;
else
return 1;
}
}
void main()
{
int i, j, k, flag1, flag2, n = 0;
for (i = 4; i < 100; i += 2)
for (k = 2; k <= i / 2; k++)
{
j = i - k;
flag1 = ss(k);
if (flag1)
{
flag2 = ss(j);
if (flag2)
{
printf("%3d=%3d+%3d,", i, k, j);
n++;
if (n % 5 == 0)
printf("\n");
}
}
}
printf("\n");
}