给出质数n
,输出它是第几个质数。
样例
样例1
输入: n = 3
输出: 2
解释:
[2,3,5],3是第2个质数。
样例2
输入: n = 11
输出: 5
解释:
[2,3,5,7,11],11是第五个质数。
注意事项
n <= 100000
。- 质数定义为在大于
1
的自然数中,除了1
和它本身以外不再有其他因数。
输入测试数据 (每行一个参数)如何理解测试数据?
class Solution {
public:
/**
* @param n: the number
* @return: the rank of the number
*/
int kthPrime(int n) {
// write your code here
int ret = 0;
for(int i = 2; i <= n; i++)
{
if(isPrime(i))
ret++;
}
return ret;
}
bool isPrime(int n) {
if (n == 1) {
return false;
}
for (int i = 2; n / i >= i; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
};