问题: 给定素数n,输出素数的个数
我的代码:
def kthPrime(self, n):
if n>10 and n%10 not in [1,3,7,9]:
return 0
if n == 2:
return 1
queue = []
num = 2
while num <= n:
if n%num == 0 and num != n:
return 0
if num>10 and num%10 not in [1,3,7,9]:
num += 1
continue
for i in range(2,num/2+1):
if num%i == 0:
num += 1
break
else:
queue.append(num)
num += 1
seq = queue.index(n) + 1
return seq
错误: 你的代码运行的时间比我们预期的要长。检查你的时间复杂性。如果您的时间复杂度是最佳的,则超出时间限制通常由无限循环引起。你知道吗
我的问题是:如何改进
正如用户@Prune所说,请先阅读指南。 我不会告诉你如何改进你的函数,但我会给你一个更快的方法来判断一个数是否是素数,希望你能理解如何使用我给你的函数来改进你自己的函数。 源代码:
相关问题 更多 >
编程相关推荐