密码工程-小素数
- 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务
- 参考《密码工程》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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通