题目:一个偶数(大于等于4)总能表示为两个素数之和
以上实例运行输出结果为:
请输入一个偶数:
4
偶数4可以分解成1和3两个素数的和
#include <stdio.h>
#include <stdlib.h>
int Isprimer(int n);
int main()
{
int n,i;
do{
printf("请输入一个偶数:\n");
scanf("%d",&n);
}while(n%2!=0);
for(i=2;i<=n/2;i++){
if(Isprimer(i)&&Isprimer(n-i))
printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i);
}
return 0;
}
int Isprimer(int n){
int i;
if(n<4) return 1;
else if(n%2==0) return 0;
else {
for(i=3;i<=sqrt(n);i++)
if(n%i==0)return 0;
}
return 1;
}