首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列出所有素数50 - 1000,然后平方并检查是否为素数

Python列出所有素数50 - 1000,然后平方并检查是否为素数
EN

Stack Overflow用户
提问于 2020-07-22 23:49:17
回答 1查看 96关注 0票数 0

我想写一个程序来列出所有质数50 - 1000,然后平方每个识别的质数,并执行检查是否有任何数字是质数或合成。

我有下面的代码来列出所有质数,我不完全确定从哪里开始执行第二次检查,以平方质数,并检查是否质数或合成。任何指向正确方向的指针都将不胜感激。

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2020-07-22 23:54:22

根据定义,平方不能是素数。但是,如果您想自己测试它,我已经重写了您的代码,方法是创建一个名为check_prime()的函数来检查数字是否为质数。

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63038228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档