python统计素数

简介: python统计素数

素数

题目:求 1~100 之间的所有素数,并统计素数的个数。

1.素数是什么?

质数(prime number)又称素数,有无限个。 一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。

换句话说,从2开始不能被比自己小的数(1除外)整除的数为素数,反之则为合数。

下图是100以内的素数

2.解决方法

大佬们应该了解到素数是什么了吧!那么接下来就要结合所学知识进行问题的解决。

方法一(传统方法)

我最先想到的是设置两个变量(j,k),运用for循环进行问题的解决。

想象

一个变量(j)前面跑,一个变量(k)后面追;后面的变量(k)追到前面变量的j-1时,就会被传送到2的位置,再次追上去。前面变量(j)每走一步,后面变量(k)就会追一次,直到k被传送回去,在k追j的过程中,如果发现j所在的数字与此时k在的数字恰好能整除。那么,就不记录;反之,如果k在追j的过程之中,一直都没有遇到能整除的情况,那么,就记录下此时j的位置。

具体代码如下:

a = int(input('请输入你要查询素数范围的起始数:'))
b = int(input('请输入你要查询素数范围的停止数:'))
num = []
count = 0
for j in range(a-1,b+1):
    if j <2:
        continue
    for k in range(2,j):
        if j % k == 0:
            break
    else:
        num.append(j)
        count += 1
print(num)
print("共有=%d个素数" % count)

count = 0
for j in range(2,101):
    for k in range(2,j):
        if j%k == 0:
            break
    else:
        print(j,end='')
        count += 1
print("共有=%d个素数" % count)

方法二思路

我们可以发现双数必定不是整数,那我们就可以避开所有的双数。这样就能减少很多运行的时间。

想象

在变量(j)走的过程中,每次不走双数,那么变量(j)就能减少几乎一半等变量(k)追的次数。

这里就不做出具体的代码啦!

大家也可修改如下内容,将自己的需求融入其中。

1.可以修改范围

如:计算1000以内的素数时,可以输入数字1000进行动态调整

2.当然也不是非要用for循环,其他循环也可。

3.计数时,大家可以用数组来进行存储素数,或其他方式来输出所需要的素数。

感谢大家,点赞,收藏,关注,评论!

目录
相关文章
|
5月前
|
机器学习/深度学习 Python 算法
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
最新【Python 百练成钢】时间调整、二进制数、回文素数、字母距离(1),2024年最新2024年阿里Python岗面试必问
|
3月前
|
数据可视化 数据挖掘 定位技术
Seaborn统计图表指南
【7月更文挑战第12天】Seaborn是Python的数据可视化库,基于Matplotlib,提供美观的统计图形。要开始使用,需通过`pip install seaborn`安装。它支持多种图表,如分布图、热图、聚类图、箱线图、小提琴图、联合分布图、点图、多变量分布图、线性关系图、树地图、时间序列图、分面绘图、分类数据图、分布对比图、多变量图和气泡图等,适用于复杂数据分析和展示。Seaborn简化了创建这些高级图表的过程,使数据可视化更直观和高效。
55 5
|
4月前
|
存储 数据挖掘 Python
使用Python集合高效统计Excel数据
使用Python集合高效统计Excel数据
57 7
|
4月前
|
监控 数据可视化 数据库
【python项目推荐】键盘监控--统计打字频率
【python项目推荐】键盘监控--统计打字频率
65 13
|
3月前
|
数据可视化 Python
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
|
3月前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
Python----统计字符串中的英文字母、空格、数字和其它字符的个数。
Python----统计字符串中的英文字母、空格、数字和其它字符的个数。
|
4月前
|
数据挖掘 Python
Python中实现数字统计最高频率的技术探索
Python中实现数字统计最高频率的技术探索
35 0
|
4月前
|
Python
【Python 训练营】N_6 求素数
【Python 训练营】N_6 求素数
24 0
|
5月前
|
机器学习/深度学习 算法 数据可视化
统计建模——模型——python为例
统计建模——模型——python为例
150 0
下一篇
无影云桌面