永发信息网

素数环为20时有几种

答案:3  悬赏:0  手机版
解决时间 2021-04-01 03:03
  • 提问者网友:流星是天使的眼泪
  • 2021-03-31 23:21
素数环为20时有几种
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-04-01 00:53
我用文件生成,电脑都要跑好久,生成的文件因为太大都打不开
1 2 5 6 13 10 9 20 17 14 3 4 15 8 11 18 19 12 7 16
这是只生成10M的文件的最后一行
以下是c语言代码

#include
#include
#define W "output.txt"
int a[21],b[40]={0};
void sushu()           //b[i]为0则i为素数,虽然空间占用较大,但时间上较为快捷
{
int i,j;
float k;
for(i=3;i<40;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0)b[i]=1;
}
}
void output(FILE *fp)   //输出函数,负责输出a数组
{
int i;
for(i=1;i<=20;i++)
fprintf(fp,"%d ",a[i]);
fprintf(fp,"
");
}void sushuhuan(int k,FILE *fp) //生成素数环
{
int i,t;
if(k>20)output(fp);
else
{
for(i=k;i<=20;i++)
{
t=a[i];a[i]=a[k];a[k]=t;
if(b[a[k]+a[k-1]]==0)sushuhuan(k+1,fp);
t=a[i];a[i]=a[k];a[k]=t;
}
}
}
int main()
{
FILE *fp=NULL;
for(int i=1;i<=20;i++)a[i]=i;
fp=fopen(W,"w");
sushu();
sushuhuan(2,fp);
fclose(fp);
return 0;
}

全部回答
  • 1楼网友:一袍清酒付
  • 2021-04-01 03:16

  • 2楼网友:我住北渡口
  • 2021-04-01 02:13
我已经做到一百多万了。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯