如果sqrt以后有小数(比如等于7.071...),根据原理是要判断到7.071...的,但是因为for循环是整数,只能到7,到不了那一位,写代码的人认为可能存在和理论上可能的最大质因数数值(7.071...)很接近的一个因数(即大于7小于7.071的一个数)。
然而事实上根本不会存在这么一个数,因为因数是整数的。
所以这句话没必要加1,加1属于浪费时间。
其实加与不加一个样子
不信你可以试验一下
但是我建议的是不加
因为很多大的程序要对数字判奇偶
上万个数字判断
如果每个数字都要多加一次判断
没用
而且还浪费时间
这是我的看法
如果有不同的
绝不否认!
trunc(sqrt(i))是指取i的根号后取下整,加1后可使程序输出结果更加保险,但没必要。一般来说,取到根号后就行 。
个人觉得不+1也是正确的,如果你有可以导致错误的数据可以告诉我,我再帮你研究下具体原因……
不用加1的。。