- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
输入一个正整数n,求第n小的质数。
- 输入
- 一个不超过10000的正整数n。
- 输出
- 第n小的质数。
- 样例输入
-
10
- 样例输出
-
29
一定要注意范围范围范围!!!!
开数组一定要注意!!!!!!
第一次很装逼的用了结构体,毕竟是会的东西之一,结果:
Runtime Error1#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #define M 10001 using namespace std; int n; struct Q{ int top; int s[M]; void jiajia() { top++; } int add(int x) { s[top]=x; } Q()//初始化 { top=0; } }q; int pd(int x) { if(x==2||x==3) return 1; if(x%2==0 || x==1) return 0; int j=3; while(j<=sqrt(x)&&x%j!=0) j+=2; if(x%j==0) return 0; else return 1; } void Q_work() { q.jiajia(); q.add(2); for(int i=3;;i++) { if(pd(i)) { q.jiajia(); q.add(i); } if(q.top>10000) break; } } int main() { scanf("%d",&n); Q_work(); cout<<q.s[n]; return 0; }