找回密码
 会员注册
查看: 34|回复: 0

3种方式获取100以内的质数(Python)

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
73866
发表于 2024-9-2 23:29:14 | 显示全部楼层 |阅读模式
目录1.质数2.方式1:使用嵌套循环,判断这个数是否存在除1和它本身外的其他因数3.方式2:假设法,假设num是一个质数4.方式3:统计num的因数的个数5.封装一个函数,判断一个数是否是质数。1.质数        质数是只有1和它本身两个因数的自然数(大于1);2是最小的质数,也是唯一的偶质数;1既不是质数,也不是合数。100以内的质数有:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,100以内的质数共有25个。2.方式1:使用嵌套循环,判断这个数是否存在除1和它本身外的其他因数#定义一个空列表用于存放100以内的质数prime_num=[]#遍历获取2~100之间的整数,外层循环控制取值fornuminrange(2,101):#内层循环取因数(除1和它本身外)foriinrange(2,num):#判断num是否是质数,在2~num-1之间能否找到一个数,能被i整除ifnum%i==0:#不是质数,结束内层循环,判断下一个数break#break不执行,else执行,则num是一个质数else:#将质数num添加到列表中prime_num.append(num)print(prime_num)3.方式2:假设法,假设num是一个质数prime_num=[]fornuminrange(2,101):#假设num是一个质数result=Trueforiinrange(2,num):#判断成立,num不是一个质数ifnum%i==0:result=False#结束内层循环,判断下一个数break#num是质数,则添加到列表中ifresult:prime_num.append(num)print(prime_num)4.方式3:统计num的因数的个数#统计100以内质数的个数prime_count=0prime_num=[]fornuminrange(2,101):#统计因数的个数factor_count=0foriinrange(1,num+1):#条件成立,因数的个数加1ifnum%i==0:factor_count+=1#质数只有2个因数,1和它本身iffactor_count==2:prime_count+=1prime_num.append(num)print('100以内的质数如下:')print(prime_num)print(f'100以内有{prime_count}个质数')图1程序运行结果5.封装一个函数,判断一个数是否是质数。defisprime(num):#2是最小的质数,小于2则不是质数ifnum
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-13 19:38 , Processed in 0.545986 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表