描述
输入一个正整数n,求第n小的质数。
输入
一个不超过10000的正整数n。
输出
第n小的质数。
样例输入
10
样例输出
29
初学者,所以用的东西不要太难,目前学到循环嵌套,不然看不懂
温馨提示:答案为网友推荐,仅供参考
第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");
}
#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");
}