10,001stプライムを見つけようとしています。私はショートに「任意の」と私は他にしようとしていたとの要因のリストを検索をしようとしている任意のものを使用する(オイラー#7)
def seven(count):
desired_count = count
actual_count = 6
number = 15
while desired_count > actual_count:
factors_in_number = range(int((number**.5)+1))
_factors_in_number = factors_in_number[2:]
print "prime count:"
print actual_count
print "current number:"
print number
print "factors:"
print _factors_in_number
if number % any(_factors_in_number) == 0:
number += 2
break
elif number % all(_factors_in_number) != 0:
actual_count += 1
number += 2
return number
が、その後のelifました:これは私が持っていたものです。 Idk。ここで は私が得るものです:だから
seven(10001)
prime count:
6
current number:
15
factors:
[2, 3]
prime count:
6
current number:
17
factors:
[2, 3, 4]
prime count:
6
current number:
19
factors:
[2, 3, 4]
prime count:
6
current number:
21
factors:
[2, 3, 4]
prime count:
6
current number:
23
factors:
[2, 3, 4]
prime count:
6
current number:
25
factors:
[2, 3, 4, 5]
prime count:
6
current number:
27
factors:
[2, 3, 4, 5]
、リストの要素は、正しく番号が増加するほど増加が、プライムカウントはしません、それはどんなの、すべてのとは何かを持っています。だから私はどのようにすべてと間違って使用していますか?
私は確かに速い方法があることを知っていますが、私は地面から自分のモンスターを取り除こうとしています。ありがとう!お急ぎ便
「もしあれば(条件(x)for stuff)」とします。任意の(因子のfに対する数%f)。 any()とall()はboolを返します。 –