哥德巴赫猜想
哥德巴赫猜想:即任一大于2的偶数都可写成两个质数之和。
下有模板题:
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<stdio.h>
int prime(int);
int main(){
int n,a,i,j;
j=0;
for(i=6;i<99;i+=2){
for(a=2;a<i;a++){
if(prime(a)&&prime(i-a)&&j<4){
printf("%-2d=%-2d+%-2d ",i,a,i-a);j++;break;
}
else if(prime(a)&&prime(i-a)&&j==4){
printf("%-2d=%-2d+%-2d\n",i,a,i-a);j=0;break;
}
}
}
}
int prime(int i){
int j,flag;
flag=1;
for(j=2;j<=i/2;j++){
if(i%j==0){
flag=0;return 0;
}}
if(flag==1)
{return 1;}
}