1013. 数素数 (20)
2016-10-23 23:45
232 查看
1、题目描述
令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
输入格式:
输入在一行中给出M和N,其间以空格分隔。
输出格式:
输出从PM到PN的所有素数,每10个数字占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; }
相关文章推荐
- 1013. 数素数 (20)
- 1013. 数素数 (20)
- 1013. 数素数 (20)
- 1013. 数素数 (20)--PAT乙级
- 1013. 数素数 (20)
- 1013. 数素数 (20)
- 1013. 数素数 (20)
- 1013. 数素数 (20)——做题纪录
- 1013. 数素数 (20)
- 1013. 数素数 (20)
- 1013. 数素数 (20)
- PAT乙级1013. 数素数 (20) 判断素数代码
- 1013. 数素数 (20)——C语言
- pat乙级1013. 数素数 (20)
- 1013 数素数 (20)
- 1013. 数素数 (20)
- PAT1013. 数素数 (20)
- 1013. 数素数 (20)
- 【C++】浙大PAT (Basic Level)1013. 数素数 (20)
- 1013. 数素数 (20)