共计 524 个字符,预计需要花费 2 分钟才能阅读完成。
办法 1:
int main()// 办法一 | |
{ | |
int money = 0;// 手上的钱,即用钱买回来的汽水数量 | |
int total = 0;// 买的 + 兑的 | |
int empty = 0;// 手里的空瓶 | |
scanf_s("%d", &money); | |
int sum = totalsum(money); | |
printf("sum=%d\n", sum); | |
total = money;// 用钱买回来的汽水数量 | |
empty = money;// 喝完用钱买的汽水后手里的空瓶数量 | |
while (empty>=2)// 只有空瓶不低于两瓶就能够换汽水 | |
{ | |
total += empty / 2; | |
empty = empty / 2 + empty % 2;// 空瓶的数量为换回来的空瓶 + 手里余下的空瓶 | |
} | |
printf("total=%d\n", total); | |
} |
办法 2:
办法 2,因为两个空瓶换一瓶饮料,一瓶饮料 1 块钱,相当于 1 个空瓶等于 0.5 元,20 块钱能够换 40 个空瓶,相当于喝了 40 瓶汽水,但因为最初手里留了一个空瓶,所以只能换来 39 个空瓶,即喝了 39 瓶汽水 | |
int totalsum(int money) | |
{ | |
int sum = 0; | |
if (money== 0)// 手里没钱就不能喝饮料 | |
{return 0;} | |
else | |
{ | |
sum = money * 2 - 1; | |
return sum; | |
} | |
//} |
正文完