判断101-200之间有多少个素数,并输出所有素数

判断101-200之间有多少个素数,并输出所有素数

问题描述:

img

为什么要用上math包的sqrt函数,还有整体函数中的leap的作用是什么,整个代码的编程思路该如何理解
我不是很懂

leap的作用其实是一个标志位,只有0和1两个值。如果m是质数,也就是不会进入if m%i==0 这个循环里面,leap的值就不会变,为初值1。
后面的判断就是如果leap为1时才会将质数打印出来。
至于sqrt,这个是开根的运算嘛。如果一个数能被写做m*n(k = m * n,其中m,n都不是1),则m和n中必有一个不大于这个数的开根(m<k的根或者n<k的根)。所以找素数只需要循环从2开始整除到他的根号就行了。