通过列出前六个质数:2、3、5、7、11和13,我们可以看到第6个质数是13。
第10 001个素数是什么?
k = 10001
b = 2
for i in range(2, 100000):
if i % 2 != 0 and i % 3 != 0:
b += 1
if b == k:
print(i)
我希望输出104743,但实际输出是29999。为什么?
如果k为6,我得到13的输出,这是正确的。但是,如果k为10001,我将得到29999,这是错误的。
答案 0 :(得分:0)
answer python ProjectEuler问题11
def main():
number_prime_to_find = 10001
x = 2
list_of_primes = []
while(len(list_of_primes) < number_prime_to_find):
if all(x % prime for prime in list_of_primes):
list_of_primes.append(x)
x += 1
print('The answer is :' , list_of_primes[-1])
main()
答案 1 :(得分:-1)
尝试此Java代码
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] arr = new int[10000000];
for(int i=2;i<10000000;i++)
{
arr[i]=i;
}
for(int i=2;i<10000000;i++)
for(int j=i+i;j<10000000;j+=i)
arr[j]=0;
int t = in.nextInt();
for(int a0 = 0; a0 < t; a0++){
int n = in.nextInt();
int count=0;
for(int j=2;j<10000000;j++)
{
if(arr[j]!=0)
{
count++;
if(count==n)
{
System.out.println(j);
break;
}
}
}
}
}
}