scratch算法练习-素数个数

题目:输入或者自动生成两个整数,求两个整数之间的所有素数的个数

首先明白素数的定义,质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。0和1既不是质数也不是合数,最小的质数是2。

思路:输入两个整数,也可以随机生成两个整数,从小的那个整数开始,依次判断这个数是不是素数,是的话总数加一。

判断素数的方法:

常规方法:我们只需要从2开始,一直到小于其自身,依次判断能否被n整除即可,能够整除则不是质数,否则是质数。

优化方法:假如n是合数,必然存在非1的两个约数p1和p2,其中p1<=sqrt(n),p2>=sqrt(n)。因此只要找到P1就说明不是素数

部分程序截图如下

file

添加的变量

file

黔西南 触摸未来
我们正身处一个只要愿意思考,就能改变世界的时代