我一直在做Java很长的时间,我偶然发现了这段代码。我不明白它是如何工作的:For循环限制无限但仍然工作
int func(int num){
int counter=0;
for(int i=5;num/i>=1;i=i*5)
counter=counter+num/i;
return counter;
}
此功能是计算尾随零的阶乘数量计划的一部分。我不明白的是for循环部分。限制通常是第二个条件,在这里是“num/i>=1
”。
我不明白,如果i
采取num作为100
,限制将是100/5 = 20
?但部分“>=1
”令我困惑。
所以20> = 1所以它循环 – epascarello
你以前没见过'> ='运算符?我无法想象你已经在Java工作很长时间了...... – David
你有没有试过在纸上执行它?它可以真正帮助你看到这样的代码块。 – litelite