两素数和为偶数(C语音):
题目:
输出50以内两个素数之和为偶数的数字加法
代码:
#include <stdio.h>
#include <math.h>
int main()
{
int j,n,p,q,fp,fq;
printf("输出50以内两个素数之和为偶数的数字加法:\n");
for(n=0;n<=50;n++) //n表示1到100之间的数
{
if(((n%2)!=0)||(n<=4))
{
continue;
}
else
{
p=1;
do{ //用的是 do while 循环
p=p+1; //p,q表示两个加数
q=n-p;
fp=1; //fp=1用于假设p是素数
for(j=2;j<=(int)(floor(sqrt((double)(p))));j++)
{
if((p%j)==0) //用于判断p是不是素数
{
fp=0; //fp=0用于标记p不是素数
break;
}
}
fq=1; //fq=1用于假设q是素数
for(j=2;j<=(int)(floor)(sqrt((double)(q)));j++)
{
if((q%j)==0) //用于判断q是不是素数
{
fq=0; //fq=0用于标记q不是素数
break;
}
}
}while(fp*fq==0); //p或者q一方如果不是素数,循环就退出
}
printf("%2d=%2d+%2d\t",n,p,q);
}
printf("\n");
return 0;
}