|
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,k,d,fa,fb,i;
scanf("%d",&d);//输入d值确认需要验证得范围值
for(k=4;k<=d;k=k+2)//4到输入得范围值之间偶数判定
{
printf("%d",k);//打印需要验证的数;(此处为什么不是每个验证值都打印出来?)
for(a=2;a<=k/2;a++)//两个质数之和,第一个数判定是否为质数
{
fa=0;//初始fa=0
for(i=2;i<=a-1;i++)//被除数设定循环方法
{
if(a%i==0)//如果a为合数,
{
fa=1;//fa=1,
break;//并跳出此循环;
}
}
if(fa==0)//fa为零时,a为质数,所以当a为质数时进行下面语句
{
b=k-a;//b+a需要等于k
fb=0;//fb初始化为零
for(i=2;i<=b-1;i++)//循环判断b是否为质数
{
if(b%i==0)//如果b为合数,
{
fb=1;//fb=1,
break;//并跳出此循环;
}
}
if(fb==0)//如果fb=0,b为质数,
{
printf("=%d+%d",a,b);//打印a+b
continue;//跳过后面语句,继续循环;
}
}
}
puts("");//一个数所有验证语句完成后,换行继续下一个数得验证
}
system("pause");
return 0;
}[/mw_shl_code]
问题在程序第九行
|
|