int Sum(int Thickness, int Height){
int i=0;
for (;Thickness<Height; Thickness=Thickness*2){
i++;
}
return i;
}
有时候我们对于循环的次数和需要求出的数字理解不了
比如这个方法,求一张纸对折几次会达到什么厚度,返回的值为次数,其实换个说法理解更简单,就是看系统运行的原理,折一次,厚度×2,如果厚度不够,才会继续执行,这样就够了,不用想太复杂的东西,比如第一次,循环条件成立,然后厚度×2,然后继续循环,也就是说只要逻辑成立,那么运行出来的代码就没有问题,不要去想比如厚度大于指定的高度了,但是循环语句没有执行,我应该手动再+1;
这种情况是错误的,理解循环的次数就是符合几次条件,执行几次结构外定义一个0;结构内自增,这个变量就是循环的次数,迭代完之后的那一次已经不符合条件,不会算进循环次数也就是说这个方法,第几次循环完,这个迭代才会运行,才会判断循环条件,
,明确循环次数,用for,不明确循环次数,用while