其他分享
首页 > 其他分享> > 密码工程-小素数

密码工程-小素数

作者:互联网

  1. 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务
  2. 参考《密码工程》p107伪代码基于Eratosthenes算法实现 int SmallPrimeList(int n, int *plist, int *len), 其中plist返回素数列表,len返回列表长度(10
    ’)
    2 写出测试代码,至少包括 n=2, n=你的四位学号,n>2^20次方的测试代码,提交代码和运行结果截图(5)

代码如下

//myprinum
#include <stdio.h>
#define N 2000000

int main()
{
         int plist[N+1]={0,0},t,k,len,a,b;
         for (k=2; k<=N;k++) plist[k]=1;
         k=2;
         while(k<=N)
         {
                   t=2;
                   while(t*k<=N)
                   {
                            plist[t*k]=0;
                            t++;
                   }
                   k++;
                   while(k<=N  && plist[k]==0) k++;
         }
         printf("请输入范围:");
         scanf("%d%d",&a,&b);
         len=0;
         printf("素数列表如下:\n");
         for (k=a;k<=b;k++)
         {
            if (plist[k]==1)
            {
                 len++;
                printf("%10d",k);
                 if (len%10==0)  printf("\n");
            }
         }
         printf("\n");
         printf("一共有%d个素数",len);
    printf("\n");
    return 0;
}

标签:工程,int,代码,len,密码,素数,测试代码,plist
来源: https://www.cnblogs.com/ffffatal/p/16359205.html