第n小质数
【题目描述】
蒜头君有一个正整数 n,他想求第 n小的质数。
【输入格式】
一个不超过 10000的正整数 n。
【输出格式】
第 n 小的质数。
输出时每行末尾的多余空格,不影响答案正确性
【样例输入】
10
【样例输出】
29
【题解说明】
从第一个开始列举,前n个就第n小的那个。第一个最小,第二个次小
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include<cstdio> #include<cmath> int isprime( int m) { //判断一个数是不是质数 int i; for (i=2; i<= sqrt (m); i++) if (m%i==0) return 0; return 1; } int main() { int n,sum=0; //定义第n小,质数累加 scanf ( "%d" ,&n); for ( int i=2; ;i++) { if ( isprime(i)==1) sum++; if (sum==n) //等于第n小的时候输出 { printf ( "%d\n" ,i); return 0; } } return 0; } |
(adsbygoogle = window.adsbygoogle || []).push({});