喝饮料问题,饮料价格1元/瓶,两瓶饮料空瓶可以重新兑换一瓶饮料,问20元可以喝多少瓶饮料
【喝饮料问题,饮料价格1元/瓶,两瓶饮料空瓶可以重新兑换一瓶饮料,问20元可以喝多少瓶饮料】方法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;
}//}
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- jhipster|jhipster 升级无效问题
- 红糖补血()
- “精神病患者”的角度问题
- 解决SpringBoot引用别的模块无法注入的问题
- Hive常见问题汇总
- 姚老师互动问答会|姚老师互动问答会 # 问题001(如何更有智慧的和身边人分享金刚智慧())
- 何必出远门,喝茶亦是旅程!
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 【教育故事】|【教育故事】 一个“问题学生”的蜕变