PAT (Basic Level) Practice (中文)1013 数素数 (20)
程序员文章站
2024-03-19 08:38:22
...
1013 数素数 (20)(20 分)
令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
这题就让你输出第M个到第N个素数,先用while循环到第N个素数,然后再注意一下格式输出就行了
#include<iostream>
#include<math.h>
using namespace std;
int IsPrime(int num);
int main()
{
int M,N;
cin>>M>>N;
int PriNum[N];
int i=0;
int j=2;
while(i<N)
{
//如果是素数
if(IsPrime(j))
{
PriNum[i++]=j;
j++;
}
else
{
//如果不是素数 往后找
j++;
}
}
int index=0;
for(int i=M-1;i<N;i++)
{
if(index!=0&&index%10!=0)
{
cout<<" ";
}
cout<<PriNum[i];
index++;
if(index%10==0)
{
cout<<endl;
}
}
}
//判断是否是素数
int IsPrime(int num)
{
if(num<2)
{
return 0;
}
//注意i是<=
for(int i=2;i<=sqrt(num);i++)
{
if(num%i==0)
{
return 0;
}
}
return 1;
}
下一篇: uva 225 Golygons
推荐阅读
-
PAT (Basic Level) Practice (中文)_1002 写出这个数 (20 分)_C语言实现
-
【PTA】【PAT (Basic Level) Practice (中文)】1002 写出这个数 (20 分)
-
PAT (Basic Level) Practice 1004 成绩排名 (20 分)
-
PAT (Basic Level) Practice (中文)-1013-数素数 (20分)
-
PAT (Basic Level) Practice (中文)1016 部分A+B C语言版 (15分)
-
PAT (Basic Level) Practice (中文)1013 数素数 (20 分)
-
PAT (Basic Level) Practice (中文)1013 数素数 (20)
-
【JAVA】1004 成绩排名 (20分) PAT乙级 PAT (Basic Level) Practice(中文)
-
PAT (Basic Level) Practice (中文)1013 数素数 C语言版 (20分)
-
【PAT (Basic Level) Practice (中文)】1013 数素数 (20 分)题解