您的位置:首页 > 其它

1013. 数素数 (20)

2016-10-23 23:45 232 查看
1、题目描述

令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
输入格式:

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

输出格式:

输出从PM到PN的所有素数,每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


2、思路分析
首先:用到了素数判定的函数;然后:需要注意理解题目的意思,PM和PN表示的是从小到大第M、N个素数,例如P1=2,P2=3,P3=5,P4=7,P5=11。
3、C++代码
#include<iostream>
#include<algorithm>
#include<string.h>
#include<stdio.h>
#include<vector>
#include<string>
#include<stack>
#include<queue>
#include<math.h>
#include<map>
using namespace std;

int M,N,Count;

void Input(){
scanf("%d%d",&M,&N);
}

bool IsPrime(int x){
int l=sqrt((double)x);
for(int i=2;i<=l;i++)
if(x%i==0)
return false;
return true;
}

void Process(){
int i,t;
Count=0;
for(i=2;Count<N;i++){
if(IsPrime(i)){
Count++;
t=Count-M;
if(t>=0){
printf("%d",i);
if(Count<N&&(t+1)%10)
printf(" ");
else
printf("\n");
}
}
}
}

void Display(){

}

int main(){
//	while(true){
Input();
Process();
Display();
//	}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: