PTA1013 数素数

旧街凉风 提交于 2020-02-04 12:09:31

令 P​i​​ 表示第 i 个素数。现任给两个正整数 M≤N≤10​4​​,请输出 P​M​​ 到 P​N​​ 的所有素数。

输入格式:

输入在一行中给出 M 和 N,其间以空格分隔。

输出格式:

输出从 P​M​​ 到 P​N​​ 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。

输入样例:

5 27

输出样例:

11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

 素数打一下表快速判断;注意输出格式,最后一行不要打两次回车

#include<stdio.h>

using namespace std;

int p[1000005];

int sushu[100005];

void solve()

{

int cnt=1;

p[1]=1;//bushi sushu

for(int i=2;i<1000005;i++)

{

if(!p[i])//sushu

{

sushu[cnt++]=i;

for(int j=i*2;j<=1000005;j+=i)

p[j]=1;

}

}

}

int main()

{

solve();

int n,m;

int ans=0;

scanf("%d %d",&n,&m);

if(m>=n)

{

for(int i=n;i<=m;i++)

{

ans++;

if(ans%10==1)

printf("%d",sushu[i]);

else

printf(" %d",sushu[i]);

if(ans%10==0)

printf("\n");

}

//printf("\n");

}

return 0;

}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!