我想写一个程序来列出所有质数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)发布于 2020-07-22 23:54:22
根据定义,平方不能是素数。但是,如果您想自己测试它,我已经重写了您的代码,方法是创建一个名为check_prime()的函数来检查数字是否为质数。
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)https://stackoverflow.com/questions/63038228
复制相似问题