#include <stdio.h>
#include <algorithm>
#define N 2016
using namespace std;
struct Mj
{
int a;
int b;
}stu[N];
bool cmp(Mj x,Mj y)
{
if(x.b!=y.b)
return x.b<y.b;
else
return x.a<y.a;
}
bool ps(int n)
{
int i;
for(i=3;i*i<=n;i+=2)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int i,j,r,l;
for(i=6,r=0;i<=2012;i+=2,r++)
{
for(j=3;j<=i/2;j+=2)
{
if(ps(i-j)&&ps(j))
{
stu[r].a=i;
stu[r].b=i-j-j;
break;
}
}
}
sort(stu,stu+1004,cmp);
for(l=0;l<r;l++)
{
printf("%d %d\n",stu[l].a,stu[l].b);
}
return 0;
}
哥德巴赫猜想_CJ
最新推荐文章于 2022-12-29 10:15:41 发布
本文介绍了一个使用C语言编写的程序,该程序通过寻找特定条件下的素数对来解决问题。程序首先定义了一个结构体用于存储素数及其相关数值,并实现了一个函数用于判断一个数是否为素数。接着,程序通过遍历偶数并检查它们是否可以表示为两个素数之和的方式生成了素数对,并按特定规则进行排序。
1174

被折叠的 条评论
为什么被折叠?



