C语言循环语句编程任意一个大于2的偶数等于两个素数之和
1 回答
已采纳
望远
TA贡献1017条经验 获得超1032个赞
/********************************
****背景:任意一个大于等于4的偶数都能表示成两个素数之和
********************************/
#include<stdio.h>
#include<math.h>
int isPrime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return 0;
}
if(n==1)
return 0;
return 1;
}
void main()
{
int i,n,count;
do{
printf("请输入一个大于等于4的偶数:");
scanf("%d",&n);
if(n<4||n%2!=0)
{
printf("数据错误请重新输入!!\n");
}
}while(n<4||n%2!=0);
for(i=2,count=0;i<=n/2;i++)
{
if(isPrime(i)&&isPrime(n-i))
{
printf("%d =%d +%d\n",n,i,n-i);
count++;
}
}
printf("一共有%d种情况\n",count);
}
- 1 回答
- 1 关注
- 1260 浏览
添加回答
举报
0/150
提交
取消
