package homework;public class Test1 { public static void main(String[] args) { int sum = 50;
int i = 50;
int chuShu = 0;
int yuShu = 0;
for (; i > 2; i--) {
chuShu = i / 3;
yuShu = i % 3;
sum += chuShu;
i = chuShu + yuShu;
}
System.out.println(sum);
//System.out.println(2/3);
//System.out.println(2%3);
}
}/*
*
* 1、 50 瓶可乐,3 空瓶换一瓶,一共能喝多少?
*
* 笔算结果为 50+16+6+2=74
*
* 可是输出结果为73,觉得过程没有错,不知道错在哪儿?
*
*/
剩下空瓶数量:(N + 1) % 2 + 1
int sum = 50;
int i = 50;
int chuShu = 0;
int yuShu = 0;
for (; i >2; i--) {
chuShu = i / 3;
yuShu = i % 3;
sum=sum+chuShu;
if(i>2)
i=1+chuShu + yuShu;
else{
i=chuShu + yuShu;
}
}
System.out.println(sum);
//输出结果 74
你调试过了吗 你每次i-- 的时候循环里的i就变为17了(应该是18)。
导致除数与余数不对。结果自然变换成73
嗯 知道了 多谢 = =
不过有更好的方法了
package homework;public class Test1 {
public static void main(String[] args) {
int tong = 50;
int count=0;
while(tong>=1){
count++;
tong--;
if(count%3==0){
tong++;
}
}
System.out.println(count);
}
}
//1、 50 瓶可乐,3 空瓶换一瓶,一共能喝多少?