请问一下求质数的代码
请教一下求质数的代码

以上是我看的一段计算质数的视频教程中截图的,有2个地方不明白。请教大家,谢谢。
另外,求质数时,往往用这个数除到平方根数就可以了,不过我想不明白,谁能说得通俗一点,简单一点,谢谢。
------解决方案--------------------
1. 这个prime为循环终止条件 当为0时 for循环跳出
2. int当bool用时 0==false 非0==true
------解决方案--------------------
另外,求质数时,往往用这个数除到平方根数就可以了
假设n 有一个因子 m 那么n/m也是n的一个因子 如果m>sqrt(n) 那么(n/m)必然<sqrt(n)
------解决方案--------------------
把prime加在循环条件语句里的目的是当测试到prime为 0即m不是质数时,循环立刻终止执行,节省了运行时间吧。
------解决方案--------------------
额。。。其实非常简单,for的第二个语句是为了防止多余的运算,比如当你的for下的if语句执行后,prime=0,如果for的第二个语句写,它会一直执行到i = m - 1,
说白了,就是高效
以上是我看的一段计算质数的视频教程中截图的,有2个地方不明白。请教大家,谢谢。
另外,求质数时,往往用这个数除到平方根数就可以了,不过我想不明白,谁能说得通俗一点,简单一点,谢谢。
------解决方案--------------------
1. 这个prime为循环终止条件 当为0时 for循环跳出
2. int当bool用时 0==false 非0==true
------解决方案--------------------
另外,求质数时,往往用这个数除到平方根数就可以了
假设n 有一个因子 m 那么n/m也是n的一个因子 如果m>sqrt(n) 那么(n/m)必然<sqrt(n)
------解决方案--------------------
把prime加在循环条件语句里的目的是当测试到prime为 0即m不是质数时,循环立刻终止执行,节省了运行时间吧。
------解决方案--------------------
额。。。其实非常简单,for的第二个语句是为了防止多余的运算,比如当你的for下的if语句执行后,prime=0,如果for的第二个语句写,它会一直执行到i = m - 1,
说白了,就是高效