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

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

输入
一个不超过10000的正整数n。
输出
第n小的质数。
样例输入
10
样例输出
29
初学者,所以用的东西不要太难,目前学到循环嵌套,不然看不懂

我C++学的不怎样,可能还不如你
不过我讲讲我的思路:
首先,你应当有个算法,通过循环变量 i 来取得10000以内的所有质数
每找到一个质数,另一个变量 j 计数加1,当 j =n 时 输出 i
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-29

    #include<iostream>  

    #include<math.h>  

    using namespace std;  

    //  

    void main()  

    {  

    //char str[100];  

    //int n;  

    //char temp = getchar();  

    //while(temp)  

    //{  

    //    

    //}  

    long n;  

    cin>>n;  

    bool flag = false;  

    int count = 0;  

    int num;  

    while(count < n)  

    {  

    for(int i = 2; i <= 10000; i++)  

    {  

    int j = 2;  

    for(j = 2; j <= sqrt((double)i); j++)  

    {  

    if(i % j == 0)  

    break;  

    }  

    if(j > sqrt((double)i))  

    {  

    count++;  

    num = i;  

    if(count == n)  

    break;  

    }  

    }  

    }  

    cout<<num<<endl;  

    //  

    system("pause");  

    }

第2个回答  2017-08-19
//直接上代码
#include<iostream>  
#include<math.h>  
using namespace std;

void main()
{  
    long n;
    cin >> n;
    bool flag = false;
    int count = 0;
    int num;
    while (count < n)
    {
        for (int i = 2; i <= 10000; i++)
        {
            int j = 2;
            for (j = 2; j <= sqrt((double)i); j++)
            {
                if (i % j == 0)
                    break;
            }
            if (j > sqrt((double)i))
            {
                count++;
                num = i;

                if (count == n)
                    break;
            }
        }
    }
    cout << num << endl;
  
    system("pause");
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网