所以我有这种方法可以找到给定数字的因子数。它工作正常,但一切,但我使用for循环,我的老师想让我把它改成一个while循环,使其更有效率,试图改变它,但我一直得到无尽的循环这里是我有使用的代码for循环什么可能是一个很好的将其更改为一个while循环,而无需使用休息,只为在全法一个return语句使用while循环查找因子数
public static int numberOfFactors(int num){
int i;
int total=0;
for(i=1;i<=num;i++){
if(num%i==0)
total++;
}
return (total);}
然后告诉你有什么用做while循环:) –
我不确定你使用的是什么语言,但是在几种编译语言中while循环最终具有相同的字节码。 –
不知道这是否适用于科幻类或数学课,但是有一些数字属性可以帮助您提高算法的效率。例如,如果num%P == 0且num%Q == 0,则对于所有(P * Q)<=(num/2),num%(P * Q)== 0。 –