1013. 数素数 (20)
时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
输入格式:
输入在一行中给出M和N,其间以空格分隔。
输出格式:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入样例:
5 27
输出样例:
11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103
#include<iostream>
#include<cmath>
#define SIZE 10002
using namespace std;
int main(){
int a[SIZE];//首先求出10000个素数,用来存放素数
int count = 0;//用来计算素数的个数
a[0] = 2;//直接将第一个素数存进数组
for(int i = 3;i < 150000;i++){
int flag = 0;//用作标记i是否为素数
for(int j = 2;j <= (int)sqrt(i);j++){
if(i%j == 0){
flag++;//flag为1,表示i为素数
break;
}
}
if(flag == 0){
count++;//
if(count < 10000){
a[count] = i;//将素数存入数组
}else{
break;//当素数个数为10000时结束循环
}
}
}
//cout<<count;
int n,m;
cin>>n>>m;
int k = 0;//用来计算输出个数
for(int i = (n-1);i < (m-1);i++){
k++;
//10个数一行输出
if((k)%10 != 0){
cout<<a[i]<<" ";
}else{
cout<<a[i]<<endl;
}
}
cout<<a[m-1];
return 0;
}
#include<cmath>
#define SIZE 10002
using namespace std;
int main(){
int a[SIZE];//首先求出10000个素数,用来存放素数
int count = 0;//用来计算素数的个数
a[0] = 2;//直接将第一个素数存进数组
for(int i = 3;i < 150000;i++){
int flag = 0;//用作标记i是否为素数
for(int j = 2;j <= (int)sqrt(i);j++){
if(i%j == 0){
flag++;//flag为1,表示i为素数
break;
}
}
if(flag == 0){
count++;//
if(count < 10000){
a[count] = i;//将素数存入数组
}else{
break;//当素数个数为10000时结束循环
}
}
}
//cout<<count;
int n,m;
cin>>n>>m;
int k = 0;//用来计算输出个数
for(int i = (n-1);i < (m-1);i++){
k++;
//10个数一行输出
if((k)%10 != 0){
cout<<a[i]<<" ";
}else{
cout<<a[i]<<endl;
}
}
cout<<a[m-1];
return 0;
}