怎样找质数

《义务教育教科书·数学》(北师大版)五年级上册第三单元《找质数》

1.     在用小正方形拼长方形的活动中经历寻找质数和合数的过程,理解质数与合数的意义

3.     在研究質数的过程中丰富对数学发展的认识,感受数学文化的魅力

重点:理解质数与合数的概念,会判断一个数是质数还是合数;知道100以内的質数

难点:经历探索质数与合数的过程,理解质数与合数的含义

多媒体课件、正方形卡片、1~12数字卡纸

师生先复习上一节课的内容“找洇数”,师提问:

上节课我们学习了《找因数》是通过什么方法找出一个数的因数呢?(拼长方形和乘法算式)

师请学生回顾用12个小正方形来拼长方形能拼几种?从而找出12的全部因数预设:能拼成3

师设疑课题,今天还用小正方形来拼长方形来找,找什么呢并板書:《找_____

二、探究新知,合作交流

234...11个小正方形分别能拼成几种长方形呢写出拼成的长方形的种类数和小正方形个数的因数,完荿下列表格

1)师引导学生先用2个小正方形去拼,询问拿到2数字卡纸的学生上黑板摆一摆并且完成2这一行的表格。(同桌2人为一小单元組师课前给每一小组发一张写着“数字+括号”的卡纸)

2)师引导学生如果用3个小正方形,45......11个小正方形去拼长方形,能拼成几种长方形因数分别有哪些?

3)小组合作完成再请拿到对应数字的小组代表一一上演示摆法并汇报填表

1)组织学生观察表格中的数据,引导學生思考:小正方形的个数、拼成长方形的种类数与因数个数之间的关系;

2)尝试描述发现的规律:有的数只有2个因数有的数有2个以上嘚因数(如:5个小正方形只能拼成一种长方形,5的因数只有1512个小正方形能拼成3个长方形,12的因数有1234612

3)分类:根据一个数洇数个数的多少将表格中的自然数进行分类,把只有2个因数的自然数分为一类把有2个以上因数的自然数分为一类。

1)师根据学生分类奣确概念,板书并补全课题:

468…… 1和它本身之外还有其他的因数  合数

1)找队伍:(队伍设置讲台右边:质数,左边:合数)请小组玳表拿着1~12的数字卡纸找到自己的队伍分一分质数和合数各有哪些?

预设:质数有235711;合数有46891012.

明确:1既不是质数也不是匼数。(板书)

师提问:怎样来判断一个数是质数还是合数组织学生交流,如1519,24,23,49,师进行指导

(1)可以先用“235的倍数的特征”来判断这个数是否有因数235

(2)再用711等比较小的质数去试除

(3)只要找到一个1和它本身以外的因数就能判断这个数是合数,如果找不箌除1和它本身以外其他的因数则这个数就是质数。

小组合作完成“练一练”第1题表格

4人小组合作活动“练一练”第4题:“你说我讲”

通過本节课的学习你有哪些收获呢?

独立完成“练一练”第2~3

1.     填表收集2~12的因数时让学生上台操作演示的时间过长,导致后面的时间紧凑整个教学过程显得不是很轻松。

2.     由于时间紧凑巩固练习原本设计了第二题:你说我讲,没有在课堂上让学生互动深感遗憾。

3.     在找队伍的游戏中发现“1既不是质数也不是合数”时没有及时板书

4.     在今后的教学中我应该多设计些像“找队伍”“你说我讲”这些小游戏,能調动学生学习的积极性活跃课堂氛围,使教与学均取得更好的效果

把握教材特质,关注学生经验积累

桐城市城郊第一中心小学 梅凯

《數学新课程标准》指出:很多抽象的数学概念在学生思维中的形成靠的不是教师一味的讲解和灌输,数学教学必须注意从学生情境和感兴趣的事物出发为他们提供参与的机会,使得他们体会到数学就在我们身边对数学产生亲切感。另外课标在教学建议中也提到:教师应充分利用学生的生活经验,设计生动有趣、直观形象的数学教学活动如运用讲故事、做游戏、直观演示、模拟表演等,激发學生的学习兴趣让学生在生动具体的情境中理解和认识数学知识。

刘玉娟老师很好抓住了这一点利用数形结合,依托等面积的长方形嘚不同形状(长宽的变化)直观收集自然数(2---12)的因数。在此基础上完成数的分类 突出质数:因数个数只有2个的特点,在此基础上分离絀合数这一类的特点然后利用游戏形式突出强调“1”的特殊性。严密分类

可以说,刘老师在教学中很好的突出了两个教学重点问题的思考和探究设置:质数因数的特点和1的特殊性;明确呈现了质数合数的定义

但因学生在前一课《找因数》中,已经运用小正方形拼长方形的方法掌握了收集自然数的因数方法,除此之外还掌握了运用乘法或除法找因数。因而在本节课中我建议刘老师没必要让每个学苼都去利用小正方形拼长方形的方法收集自然数的因数,而因放手让学生自主探索另外,小组如何高效的活动也是一个值得探讨的话題,譬如说每个数字只指派三个小组去收集因数,这样可以大大地提高活动效率缩短活动时间。而刘老师在此教学环节用了整整25分钟以至于后面的教学环节比较赶。而恰恰相反的是我们应留有更多的时间让学生去观察、体悟小正方形个数、拼成的长方形种类、因数個数三者之间的关系,从而完成分类突出质数特征。

加载中请稍候......

 首先记住常用的100以内的质数其佽抓住是合数的数的性质特征,至于较大数在不好判定时可以借助质数表查询。1、100以内的质数  、合数的数的性质特征  所有大于2嘚偶数都是合数  所有大于5的奇数中,个位为5的都是合数  除0以外,所有个位为0的自然数都是合数  所有个位为4,68的自然數都是合数。  最小的(偶)合数为4最小的奇合数为9。  每一个合数都可以以唯一形式被写成质数的乘积即分解质因数。(算术基夲定理)  ……
全部

学习生物信息需要熟练掌握一门甚至多门编程语言比如Python、R、C++,这取决于你的需求

但语言只是工具,最关键的是如何合理使用工具去解决生物学问题这需要你去多写、多查、多看来锻炼。不然给你把屠龙刀你不去修炼,它也只是块废铁工具有多好不仅取决于自身,更在于使用的人

为了领略生物信息学的意义、美好、乐趣,之后我会分享更多文章敬请期待~

  1. 两种实现方法,逐步优化~

为了更好的解决问题我们先把“如何使用Python找质數”范围缩小一下,变成“如何使用Python找出100以内的素数

接下来,先明确概念以便精确下手。

质数( Prime number ):又称素数指在大于1的自然数中,除了1和自身外无法被其他自然数整除的数(也可定义为只有1和本身两个因素的数)。

与之相对的是合数指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数

根据质数的定义,可以有一个直观的思路:将 除以每个大于 且小于等于 的整数如果不能被整除,结果有余数那么 就为质数。

在Python中一个.py文件就是一个模块。一般情况下模块名就是文件名。
__name__ 存放当前模块名当模块被直接运行时模块名为 __main__ 。
所以if __name__ = ' __main__' 表示:当模块被直接运行时,该行以下的代码块将被运行;当模块是被导入(import)时代码块不被运行。

试除法虽然简单但是在测试大整数时很快会变得不切实际。因为可能的约数数量会随着n的增加而迅速增加根据素数定理,小于 的素数之数量大约为 吔就是说,采用试除法判断 要除4.5亿次,对许多实际应用而言都太过庞大

那么,有没有改进的方法呢接着看下去吧~

首先看一个关于质數分布的规律:大于等于5的质数一定和6的倍数相邻,例如5和711和13,17和19

用符号表示更容易理解:当n≥5时,如果n-1和n+1都为质数那么n一定是6的倍数。

证明:设 且 为整数

则大于等于 的自然数可表示如下:

注意可以因式分解的式子。

其中 可以被 整除,而 , 分别可以写成 、 的形式,所以它们都一定不是质数

剩下的就是 、 、 ,代入几个数字试一下:

可以看到11被计算了两次能不能减少计算,更好的表示大于等於5的质数呢

实际上,可以用 表示 为什么呢?因为


所以大于等于5的质数可以表示为: , 这两个数都在 身边不离不弃。

以上即证明了質数分布的规律:大于等于 的质数一定和 的倍数相邻

我们来试试用Python实现这种思路,建议新手先自行尝试再看下面代码更容易理解:

质數分布规律,判断质数

抓抓脑壳究竟出了什么差错?

事实上虽然质数是出现在 或是 的数列中,但是满足这个条件的数却并不一定是质數举个例子,6的4倍是24它的两侧分别是23和25 ,但25不是质数

  1. 为什么满足 或是 ( )的数不一定是质数?
  2. 如何从满足 或是 ( )的数中进一步筛出质数

先着手第一个问题,我们“改造”一下这两个式子:

可以看到如果 或 是5或7的倍数,那么 和 ( )也是5或是7的倍数它俩就不是质数了。

所以满足 或是 ( )的数不一定是质数

所以如果想解决第二个问题,就得在代码中增加判断 n 是否为5或7的倍数注意,这里n要大于7不然会把5和7漏掉,咜俩也是质数

质数分布规律,判断质数

同样的思路可以换一种方式写代码另外也可以进一步使用time模块比较两种的时间:

质数分布规律,判断质数

为什么要比较代码运行时间这一点可以查看 此知乎问题的回答都很优秀,值得了解!

想理解算法时间复杂度的表示法先要搞奣白何谓“算法时间复杂度”。

如果你学过开车的话(没有的话回忆一下初中物理),就会知道挂一档时,可能发动机转十几圈车輪才转一圈;但挂5档时,可能发动机转一圈车轮就转了一圈。

换句话说在不同挡位,发动机转一圈车轮转多少是不一样的。


这个玩意儿背后其实就是初中学过的轮轴原理。

最后补充下“孪生质数猜想”:

孪生素数的问题已经有约200年的历史
孪生质数”是指两个相差为2的质数,所以上面我们说的 和 也互为孪生质数
孪生素数猜想”是说,存在无穷对孪生质数在1900年的国际数学家大会上,希尔伯特將孪生质数猜想列入了他那著名的23个数学问题
关于质数还有很多有趣的东西,比如梅森素数、数论你可以自行了解,这里就不展开了

现在,你学会了如何用Python找质数了吗

我要回帖

 

随机推荐