# include <stdio.h>
/*一个偶数总能表示为两个素数之和*/
//素数判断函数
int IsPrime(int val)
{
int i;
if (val <= 3) //优化程序,1~3必定是素数
{
return 1;
}
//开始判断是否素数
for (i=2; i<val; i++)
{
//如果传入的值除以比他小的数字余数为0
if (val%i == 0)
{
//终止循环
break;
}
}
//如果i==val即i中没有能被val除开的,注意,这里的i==val,因为i在最后++了,所以==val了。
if (i == val)
return 1; //真
else
return 0; //假
}
//主函数
int main(void)
{
int b, j, i;//被减数、减数、i循环变量(在这里可以看做是差)
printf("请输入一个偶数:");
scanf("%d", &b);
//判断输入的数字是不是偶数
if(b%2 == 0)
{
//开始循环并输出
for (i=1; i<b; i++)
{
//求减数
j = b-i;
//如果减数是素数
if (IsPrime(j)==1)
{
//如果差也是素数
if (IsPrime(b-j)==1)
{
printf("%d + %d =%d\n", j, b-j, b);
}
}
}
}
else
printf("你输入的不是偶数:");
return 0;
}
49-一个偶数总能表示为两个素数之和
最新推荐文章于 2022-09-17 09:09:44 发布