Description
验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6=3+3, 8=3+5,…18=5+13(若某一偶数可分成多组素数和,只取前一个加数最小的那一个组合)。要求将6-99之间的偶数都表示成两个素数之和,输出时每行输出5组。
Input
无
Output
输出格式:每个整数占两位,且左对齐,两个式子间空格隔开。
Sample Input
Sample Output
6 =3 +3 8 =3 +5 10=3 +7 12=5 + 7 …
代码实现
#include<iostream>
#include<cstdio>
using namespace std
;
int prime(int n
)
{
int i
,flag
=1;
for(i
=2;i
<n
;i
++)
if(n
%i
==0)
flag
=0;
return flag
;
}
int main()
{
int i
,j
,count
=0,n
=6;
while(n
<=98)
{
for(i
=3;i
<=n
-2;i
+=2)
{
j
=n
-i
;
if(prime(i
)*prime(j
)==1)
{
if(count
==0)
printf("%-2d=%-2d+%-2d",n
,i
,j
);
else
printf(" %-2d=%-2d+%-2d",n
,i
,j
);
count
++;
break;
}
}
if(count
==5)
{
printf("\n");
count
=0;
}
n
+=2;
}
return 0;
}