#include <stdio.h>
#include <math.h>
int fun(int n)
{
int i;
if(n==2)
return 1;//2是偶数里的唯一素数
if(n%2==0)
return 0;//偶数返回0
for(i=3;i<=sqrt(n);i+=2)
if(n%i==0)
return 0;//不是素数的奇数返回0
return 1;//素数返回1
}
int main()
{
int n,i,ok;
while(scanf("%d",&n)!=EOF)
{
ok=0;//进入循环 ,进行标记
for(i=2;i<=n/2;i++)//确保只打印一次,小的在前面,大的在后面
{
if(fun(i))//i是较小的素数
if(fun(n-i))//n-i是较大的素数
{
printf("%d %d\n",i,n-i);
ok=1;//存在就标记为1
}
if(i!=2)
i++;
if(ok)
break;//打印出结果,退出循环
}
}
return 0;
}
C语言验证哥德巴赫猜想
最新推荐文章于 2024-07-12 18:02:43 发布