喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,
给20元,可以多少汽水。
编程实现。
解题思路: 20块钱喝20瓶饮料,空瓶的个数应该是空瓶数除以2再加上空瓶数模上2,原因是当剩五个空瓶时换两瓶,剩一个空瓶,当然这个空瓶也要算进去,不然直接导致结果错误
int main() {
int money = 20;//有20块钱
int count = 0;//记录喝汽水的个数
count = 20 / 1;
int tmp = 0;//空瓶个数
tmp = 20;
while(1) {
int num = tmp / 2;//空瓶换的汽水
count += num;//把空瓶换的汽水加到喝汽水个数上面
tmp = tmp/2+tmp%2;
if (tmp == 1) {//当最后只剩下一个空瓶时,退出循环
break;
}
}
printf("%d\n", count);
return 0;
}
//输出结果,20块钱可以喝39瓶汽水