[英]Python prime number calculator
prime = [2]
while len(prime) <= 1000:
i=3
a = 0
for number in prime:
testlist= []
testlist.append(i%number)
if 0 in testlist:
i=i+1
else:
prime.append(i)
i=i+1
print(prime[999])
嘗試制作一個計算在線課程素數的程序。 這個程序永遠不會結束,但我在我的代碼中看不到無限循環。
質數是只能被一個和它本身整除的數。
我的邏輯是,如果一個數可以被它前面的素數除,那么它就不是素數。
正如對您的問題的評論所指出的那樣,您的代碼中有幾個錯誤。
這是您的代碼工作正常的版本。
prime = [2]
i = 3
while len(prime) <= 1000:
testlist = []
for number in prime:
testlist.append(i % number)
if 0 not in testlist:
prime.append(i)
i = i + 1
print prime
我還沒有測試過,但您可以創建如下方法:
def get_prime_no_upto(number):
start = 2
primes = list(range(start,number)).to_a
for no in range(start,number):
for num in range(start,no):
if ( no % num == 0) and (num != no):
primes.delete(no)
break
primes
並且可以像這樣使用它
print primeno(100)
干杯!
def prime_checker(number):
stop = False
prime = True
n = 2
while stop == False and n < number:
if (number) % n == 0:
prime = False
stop = True
n += 1
if prime == True:
print("It's a prime number.")
elif prime == False:
print("It's not a prime number.")
prime_checker(11)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.