簡體   English   中英

Python 列出所有素數 50 - 1000,然后平方並檢查是否素數

[英]Python to list all primes 50 - 1000 , then squaring and checking if prime

我想編寫一個程序來列出所有素數 50 - 1000,然后對每個已識別的素數求平方,並檢查是否有任何數字是素數或合數。

我有下面的代碼可以列出所有素數,我不完全確定從哪里開始執行第二次檢查以平方素數並檢查是素數還是復合數。 任何指向正確方向的指針都將不勝感激。

lower = 50
upper = 1000

print("Prime numbers between", lower, "and", upper, "are:")

for num in range(lower, upper + 1):
   # all prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)

根據定義,正方形不能是素數。 但是,如果你想自己測試它,我已經通過創建一個名為 check_prime check_prime()的 function 來重寫你的代碼,它檢查數字是否為素數。

def check_prime(number):
    temp = []
    for i in range(1, number):
        if len(temp) > 1:
            return False
        if number % i == 0:
            temp.append(i)
    return True
prime = []
for i in range(50, 101):
    if check_prime(i):
        prime.append(i)
prime_2 = []
for i in prime:
    if check_prime(i ** 2):
        prime_2.append(i ** 2)
print(prime_2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM