大一期末作业之素数

#来源于期末作业#

我们先来了解一下:

素数也被称为质数。一个大于1的正整数,假如除了1和它本身以外,不能被其他正整数整除,就叫素数。如2,3,5,7,11,13,17......素数【质数】的性质【1】质数p的约数只有两个:1和P。

素数也被称为质数。一个大于1的正整数,假如除了1和它本身以外,不能被其他正整数整除,就叫素数。如2,3,5,7,11,13,17...

素数【质数】的性质【1】质数P的约数只有两个:1和P。

题目一:请找出1-1000中的素数

分析:1.遍历出2-1000的数

2.使用一个变量num承接

3.在对该变量进行从(2,根号num+1)进行遍历,进行整除,如果找到一个因子。

代码操作:

python 复制代码
anynumber = int(input()) #接受想要遍历的数
all_prime = [1]  # 存储所有素数
for num in range(2, anynumber+1):  # 从 2 开始,因为 1 不是素数
    for i in range(2, int(num ** 0.5) + 1):  # 只需要检查到 num 的平方根即可
        if num % i == 0:  # 如果找到一个因子
            break  # 不需要再检查其他的数,所以直接跳出循环
    else:  # 如果没有找到因子
        all_prime.append(num)  # 那么 num 就是素数
print(all_prime)


"""
先加入最特殊的素数1,随后将2-1001的中的素数加入进去。
"""

最末尾的数可以改变。

题目二:请找出1-1000的中的非素数。

1.遍历出2-1000的数

2.使用一个变量num承接

3.在对该变量进行从(2,根号num+1)进行遍历,进行整除,如果找到一个因子,那么,这个数就是非素数,加入到列表中。

代码操作:

python 复制代码
anynumber = map(int,input())#接收想要遍历的数
all_non_prime = [] #创建一个空列表

for num in range(2,anynumber+1): #一已经是素数,所以不用遍历
    for i in range(2,int(num **0.5)+1):
        if num % i == 0:       #若有一个因子,则为非素数
            all_non_prime.append(num)
            break
print(all_non_prime)

题目三:判断一个数是否为素数的

基本上和以上的思想差不多,也是从2-根号n 整除验证是否为素数。

python 复制代码
def is_prime(n):
    if n <= 1:
        return False
    for i in range(2,int(n **0.5)+1):
        if n % i == 0:
            return False
    return True

以上就为我目前见到的素数期末题目,如果您遇到新的题目可以在评论区讨论,谢谢。

相关推荐
微爱帮监所写信寄信3 分钟前
微爱帮监狱寄信邮票真伪核实接口认证方案
开发语言·python
啃火龙果的兔子4 分钟前
如何使用python开发小游戏
开发语言·python·pygame
爱学习的uu5 分钟前
大模型学习1——各类模型接入langchain,模型调用,记忆管理,工具调用
人工智能·python·深度学习·学习·算法·机器学习·langchain
无言(* ̄(エ) ̄)7 分钟前
C语言--运算符/函数/结构体/指针
c语言·开发语言·数据结构·数据库·算法·mongodb
wa的一声哭了8 分钟前
赋范空间 赋范空间的完备性
python·线性代数·算法·机器学习·数学建模·矩阵·django
代码游侠9 分钟前
学习笔记——SQLite3 编程与 HTML 基础
网络·笔记·算法·sqlite·html
im_AMBER12 分钟前
Leetcode 91 子序列首尾元素的最大乘积
数据结构·笔记·学习·算法·leetcode
Tisfy12 分钟前
LeetCode 840.矩阵中的幻方:模拟(+小小位运算)
算法·leetcode·矩阵
Word码12 分钟前
LeetCode1089. 复写零(双指针精讲)
算法
Swift社区18 分钟前
LeetCode 461 - 汉明距离
算法·leetcode·职场和发展