题目要求:歌德巴赫猜想。每个不小于6的偶数都可以表示为两个奇素数之和;例如:5=2+3 , 8=3+5 ,验证100以内的自然数。
#include<stdio.h> void main() { int a,b,i,j,m; int n=0; for(m=6;m<=100;m++) //m是大于等于6的自然数 { for(a=2;a<=m/2;a++) { b=m-a; for (i=2;i<=a;i++) //求解第一个奇素数 if(a%i==0) //如果能够整除,则其不是素数 break; for(j=2;j<=b;j++) //求解第二个奇素数 if(b%j==0) break; if(i==a && j==b) //当a、b都是素数的时候,并且前面已经确定了m=a+b { printf("%2d=%2d+%2d ",m,a,b); if(n++%6==0) //每输出6次换行 printf("/n"); break; } } } printf("/n"); }