题解 | #汽水瓶#
汽水瓶
http://www.nowcoder.com/questionTerminal/fe298c55694f4ed39e256170ff2c205f
解答1:通过整数除法与模运算
int count=0;
while(n>=3)
{
int k = n / 3;
count += k; //喝掉的数量
n = n % 3 + k; //剩余的空瓶子
if(n==2)//处理尾部情况
{
count++;
break;
}
}
解答2:推理
每喝掉一瓶汽水,剩余的空瓶子都会少2瓶,而当剩余2瓶时,也可以喝一瓶
因此通过整数除法,int k = n/2; (n%2的余数小于2,不能再喝,因此k即是所求);