C语言经典案例:一个偶数总能表示为两个素数之和。
栏目分类:C语言教程 发布日期:2020-06-16 浏览次数:次
C语言案例分析:我去,这是什么题目,要我证明这个问题吗?真不知道怎么证明。那就把一个偶数分解成两个素数吧。
实现代码如下:
#include<stdio.h>
#include<stdlib.h>
int Isprimer(unsigned int n);
int main()
{
unsigned int n,i;
do{
printf("请输入一个偶数:\n");
scanf("%d",&n);
}while(n%2!=0);
for(i=1;i<n;i++)
if(Isprimer(i)&&Isprimer(n-i))
break;
printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i);
return 0;
}
int Isprimer(unsigned int n)
{
int i;
if(n<4)return 1;
else if(n%2==0)return 0;
else
for(i=3;i<sqrt(n)+1;i++)
if(n%i==0)return 0;
return 1;
}
以上实例运行输出结果为:
请输入一个偶数:
4
偶数4可以分解成1和3两个素数的和
本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/cyuyan/871.html