显示质数通过循环
答
如果这个条件是从测试如果number
是素数的方法服用,应该只有当它用数字j
这样j <= Math.sqrt(number)
divisable测试,所以j <= number/2
是矫枉过正。不过,它比测试所有j <= number
的性能更好。
答
是的,它将运行时间减半(*)。
您不需要检查大于您的号码一半的号码。他们不会是因素。
虽然这是一个非常松散的上限。你可以更早地停下来(在平方根上:将会有比平方根更大的因子,但是你已经通过这对的另一个因子找到了)。
(*)如果您只在循环顶部计算number/2
一次,也就是说。如果在每次迭代中重复计算它,则会再次浪费相当多的储蓄。
+0
“浪费相当多”:虽然2分区比其他分区快。但仍然... – Thilo 2014-10-07 06:24:42
这只是说,虽然j小于或等于有数字... – WMios 2014-10-07 06:17:27