首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

质数 【土方法】#小学生 Python 通俗易懂

相信现在各位看官都在小学阶段学习过质数,但那时年纪尚小,听质数这个数学名词很陌生,在老师的讲述后才有所理解 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。又称素数。...质数应用方面十分广泛,特别是计算机方面,如RSA算法等大家小学时应该找过100以内的质数,当时老师使用一个方法,我现在仍记忆犹新根据定理,因为质数只有两个因数,所以我们采用找出多余因数的方法排除合数,因而找出质数...这样下来,我们找出了26个数,翻书验证,91不在质数表里面因为我们没考虑到7乘大于等于10的倍数(前面的方法成功避开7乘10到12的倍数),13乘7等于91。...总而言之,100以内的质数有25个图片如果按照上面的方法找出200以内的质数,那么Bug会更多,还好当时考试范围只考100以内的质数,之后背质数表到如今还记得(老师教授上文的方法只是为了方便记忆和方便理解质数概念...)学习后我萌生写程序质数的念头,因为某加密算法应用到质数我根据当初老师给我的思路写了个程序,虽然现在有些算法更好,但我也硬着头皮上了我们先输入一个数表示其范围,将其赋值到变量a中a = int(input

27700
您找到你想要的搜索结果了吗?
是的
没有找到

Python 计算质数提升

今天在做 Python 学习的时候,发现自己对于代码的递归和循环的控制,还有实现编程的思考太过简单了,一道简单的编程题,浪费掉了我很多的时间才完成,真的是太不应该了,这倒题是说给定一个数,可以是整数,也可以是浮点数...,然后计算这个数之后的5个质数,并输出出来。...现在整理一下思路,求解质数不说了,可以直接使用上次的方案: def prime(n): if n == 1: return False for i in range(2,...if n % i == 0: return False return True 然后就是进入到计算连续的五个数中,首先考虑的是,我需要输出过程中使用五次循环,但是我本身质数的过程中也应该使用一个计数器循环...primes.append(str(start)) i += 1 start += 1 print(','.join(primes)) 这次给自己提了个醒,虽然 Python

90020

Python数学计算工具2、判断质数、遍历质数

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。...# 计算质数 import os os.system("title 质数查询与判断:") def isZhi(num): # 质数大于 1 if num > 1:...86933994 下面是打包过程: 使用打包工具:【pip install pyinstaller】 安装完成后注意使用语法: pyinstaller -F -p D:\save\Exe\studys\Python...\exe\Lib -i D:\save\myclass\Python\core\pythonProject\python.ico demo5.py -n " 质数判断与质数范围查询工具" 可以看到我使用了...2个绝对路径,绝对路径1是Python环境的包所在的位置,如果包不全的话需要自己通过pip进行下载,建议修改完镜像位置再下载。

78430

Python|欧拉筛法求质数

问题描述 我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算第 2020 个质数是多少?...解决方案 当看到这种寻找质数的问题,很多人第一时间想到的便是二重循环暴力查找,如果只前几个质数,可以使用这种暴力查找的方法。但如果要第2020个质数,第9999个质数,这种暴力方法就不适用了。...这个时候就可以使用筛法来求质数,本文介绍的是欧拉筛法。其运用的原理是质数的倍数一定不是质数。因此将质数的倍数直接标记成合数,以达到筛选质数的目的。...代码: def ouLaShai(n): lis = [True for i in range(n + 1)] # 用于筛选记录合数 lis2 = [] # 存质数...而到后面的某个质数prime2去筛i * prime2的时候,就有i * prime2 == x * prime * prime2,因而prime和prime2都是i * prime2的质因子。

1.6K20

Python“对象”

小编说:你一定会感叹:Python还缺找对象? 毕竟“一切皆对象”是人家Python的哲学理念。不过,Python 允许程序员以纯粹的面向过程的方式来使用它,所以人们有时会忽视它那颗“找对象”的心。...Python 中,一般通过在类的内部定义函数来说明方法。...但Python 还是提供了初始化对象属性的办法。Python 定义了一系列特殊方法。特殊方法又被称为魔法方法(Magic Method)。...Python 会以特定的方式来处理各个特殊方法。对于类的__init__()方法,Python 会在每次创建对象时自动调用。...Python的对象很多也很有趣,比如《那些Python意想不到的对象》。若与这些对象深入交往,你会发现Python更多的魔力。更多内容可见《从Python开始学编程》一书。

47400

计数质数

题目 难度级别:简单 统计所有小于非负整数 n 的质数的数量。 示例 1: 输入:n = 10 输出:4 解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。...示例 2: 输入:n = 0 输出:0 示例 3: 输入:n = 1 输出:0 提示: 0 <= n <= 5 * 106 解题思路 埃氏筛 若一个数为质数,则它的n倍就一定是一个合数。...遍历数组isPrimes,当它为1时说明是一个质数,之后求出它的n倍,并赋值0。...primes数组,当在isPrimes里遇到值为1的质数时,将其添加至primes数组。...同时遍历primes数组,因为primes内是质数,所以乘上任何数都是合数。当遇到 isPrimes的第i项 % primes[j]的值为0时,后面的数之前的数已经计算过,跳出循环。

1.2K00

Python代码bug(7)

Python代码bug(7) 上期的代码设计需求 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。...(2)第二个显而易见的问题还是print()方法的使用问题,再次强调这里是Python3版本,所以,必须带括号()。 (3)第三个bug,看起来是“笔误”。...点评:昨天的这个bug问题,主要目的: (1)再一次巩固对range()参数的认知,学会使用倒序循环。 (2)巩固print()方法的使用。 (3)巩固赋值语句的用法,防止代码的随意性。...对以上代码阅读还有困难的同学,请翻阅和学习高渡号外前面发送的《Python入门》,或者高渡网站的《Python轻松入门》视频课程。 本期代码设计需求:利用递归算法求5!

69620

Python代码bug(2)

Python代码bug(2) 上期的代码设计需求: 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? ? 请大家仔细阅读代码,找出其中的bug!...(4)print方法在Python3以后,是带括号的哦。 (5)最后还有一个隐形的bug,就是print语句是if语句的子句,所以,是要缩进的哦。...话说回来,如果代码的问题真像是elephant那样子的,一庞然大物,还用吗? 关于程序bug的问题,送大家一句话吧:勿以恶小而为之,勿以善小而不为!说笑了,没有这么严重。 下面公布今天的问题。...实际上,这个案例,我们在《Python入门》中讲过,因为是入门课程,我们在解决方案上使用的是更加直观易懂的方法,其代码可能更容易理解。

69441

Python代码bug(3)

Python代码bug(3) 上期的代码设计需求: 企业发放的奖金根据利润提成。...这种方式特别符合Python的极简风格,请没有完全明白的同学一定要细细品味。...还不清楚个中的道理的,请翻阅公众号前面发送的《Python入门》或者高渡网站的《Python轻松入门》视频课程,比较一下,那个代码更简洁。 下面公布今天的问题。...实际上,这个案例,我们也在《Python入门》中讲过,特别细心的同学一定注意到了,这个代码跟之前的代码不一样。...没错,上面的代码,依然存在一些小bug,大家擦亮眼睛,继续吧! 找到了,就写在留言里,方便明天我们一起对答案。(大家真的要培养留言的习惯哦~) 正确答案明天揭晓。

69520

Python代码bug(5)

Python代码bug(5) 上期的代码设计需求: 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 代码如下: ?...点评:昨天的这个bug问题,主要目的: (1)让大家巩固对input()返回值的运用。 (2)注意字符串的规范使用。 (3)注意条件判断语句的规范使用。...对以上知识点存在模糊认识的同学,请翻阅和学习高渡号外前面发送的《Python入门》,或者高渡网站的《Python轻松入门》视频课程。 下面公布今天的问题。...我最近跟一个朋友聊 Python,就发现这样的一个有趣的特点,很多写Python代码的朋友都有这样一个习惯,大家很自然爱把一个重复序列的行为先记录在一个列表数据里,然后,你需要它里面的哪一项,随时方便拿给你...找不到bug的同学,建议先复习一下高渡号外前面发布的《Python入门》,以及高渡网站的《Python轻松入门》、《Python Web开发》等视频课程。

81730

Python代码bug(8)

Python代码bug(8) 上期的代码设计需求:利用递归算法求5! 代码如下: ? 请大家仔细阅读代码,找出其中的bug! 正确答案:共有3个bug。(对答案时间,看看答对了几个?)...(2)第二个还是显而易见的print()方法的使用问题,Python3版本必须带括号()。 (3)第三个bug,我们得好好聊一下: 不熟悉递归算法的同学,我们需要弄明白,函数究竟应该返回什么?...点评:昨天的这个bug问题,主要目的: (1)学习递归算法。 (2)巩固if条件判断语句。 (3)再次提醒Python3的print()的用法。...对以上代码阅读还有困难的同学,请翻阅和学习高渡号外前面发送的《Python入门》,或者高渡网站的《Python轻松入门》视频课程。 本期代码设计需求: 有5个人坐在一起,问第五个人多少岁?

72420

Python代码bug(6)

Python代码bug(6) 上期的代码设计需求: 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? 代码如下: ?...点评:昨天的这个bug问题,主要目的: (1)再一次巩固对range()参数的认知。...(2)正确理解和运用缩进语法 对了,昨天我们还提到一个有趣的问题就是关于python的代码基因,似乎偏好使用list列表等序列类型数据结构的问题。...对以上代码阅读如有困难的同学,请翻阅和学习高渡号外前面发送的《Python入门》,或者高渡网站的《Python轻松入门》视频课程。 下面公布今天的问题。...找不到bug的同学,建议先复习一下高渡号外前面发布的《Python入门》,以及高渡网站的《Python轻松入门》、《Python Web开发》等视频课程。

62030

Python代码bug(4)

Python代码bug(4) 上期的代码设计需求:请输出 9*9 乘法口诀表。 代码如下: ? 请大家仔细阅读代码,找出其中的bug! 正确答案:共有3个bug。(对答案时间,看看答对几个了?)...点评:昨天的这个bug问题,主要是让大家巩固range()在for循环中的应用,特别要注意它的参数取值范围,以及代码缩进的重要性!...这个案例在高渡号外公众号前面发送的《Python入门》或者高渡网站的《Python轻松入门》视频课程中也都有讲过,但是,代码细节有些差别。有兴趣的同学可以翻阅比较一下,看看哪个代码你更喜欢?!...建议大家先预习一下条件判断语句的正确语法,尚未牢记和掌握的同学可以翻阅本公号前面发布的《Python入门》,以及高渡网站的《Python轻松入门》、《Python Web开发》等视频课程。

62340
领券