友情提示:380元/半年,儿童学编程,就上码丁实验室。
本文是上篇文章《质数表》的续集。
把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。分解质因数只针对合数。(分解质因数也称分解素因数)求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。分解质因数的算式叫短除法。
上面说的是同学们自己动手分解质因数的方法。我想电脑也应该是这样的思路吧,到底是不是,你看仔细。
在上篇文章内的质数表程序的基础上,增加建立如下积木。为了不让质数表每次都运行,就把绿旗下的 “删除合数二” 模块放到一边,有必要扩大 n 的范围时再弄回原状,同时也停止了新加的模块的运行。
注意里面的 ”左起小数“,现在已经都是质数了,就是质数表内的质数。上面的程序的意思是,首先移动了之前质数表的运行积木,质数表还在,可以利用就行。然后就是,用这个给出的合数除以 2,能除尽就把 2 加到质因数表,重复执行到除不尽为止,然后再除以 3,5,7…… 如果 1000 以内的质数不够,还可以扩大范围。
再来看看视频。
值得留意的是,几个模块之间还有一个变量:n,它是蓝色的,只在模块间起纽带作用,是设定给电脑参数。
如果某个合数的质因数太大,超过了 n 的值,那么程序会提醒你扩大范围。如果 n的值很大,比如 1000000,可以设置这里,运算就不会拖延时间。
在 “ 运行时不刷新屏幕” 前打勾。程序找10000以内的质数表也只要两到三秒时间。