首页 > 解决方案 > 谜语 for(... i++)

问题描述

int count = 0;
for(int i=1; i<=88444300; i++){
// for(int i=1; i<=88444300; ){
    i *= 2;
    count++;
}
System.out.println("You need " + count + " times.");

你好!

如果我编码,i++ 对结果有何影响

for(int i=1; i<=88444300; )

它给出的计数是 27 而不是 26?

谢谢!

标签: javafor-loop

解决方案


没有i++你正在计算系列

n+1 = 2 * 我n

有了它,你正在计算

n+1 = 2 * 我n + 1

不出所料,后者更快地达到极限 88 444 300(迭代次数更少)。


推荐阅读