总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

输入一个正整数n,求第n小的质数。

输入
一个不超过10000的正整数n。
输出
第n小的质数。
样例输入
10
样例输出
29

一定要注意范围范围范围!!!!
开数组一定要注意!!!!!!
第一次很装逼的用了结构体,毕竟是会的东西之一,结果:
Runtime Error
#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;
}
1

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
  • 2021-07-24
猜你喜欢
  • 2022-12-23
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2021-07-10
相关资源
相似解决方案