【C语言】到底能喝几瓶汽水?
2016-07-26 00:33
232 查看
问题描述:每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元,最多能喝多少瓶汽水。
思路:20块钱最起码开始喝20瓶汽水,汽水喝完后剩下20个空瓶子。20个瓶子可以换10瓶汽水,喝完后再可以兑换5瓶汽水……依此类推即可得到最终的结果。程序实现如下:
结果:39。
思路:20块钱最起码开始喝20瓶汽水,汽水喝完后剩下20个空瓶子。20个瓶子可以换10瓶汽水,喝完后再可以兑换5瓶汽水……依此类推即可得到最终的结果。程序实现如下:
#include <stdio.h> #define MAX 20 int main() { int money=MAX; int count=MAX; while(1) { if(money%2!=0) //如果空瓶子数n不是偶数,则可以兑换2n-1个 { count=count+money-1; break; } else //如果空瓶子数n是偶数,则可以兑换n/2个 { money=money/2; count+=money; } } printf("%d\n",count); system("pause"); return 0; }
结果:39。
相关文章推荐
- C++——C++函数调用机制(3)
- c++计算器后续(1)
- 第一章:10道C/C++经典面试题
- C++——C++内存区域(2)
- c语言简单链表实现
- c语言链表栈实现进制转换
- C++——C和C++,面向对象三大特性,程序开发过程(1)
- Leetcode 268. Missing Number (Medium) (cpp)
- 【C语言】字符的旋转
- C++之STL(5)之 set 与 multiset
- 进阶项目1.2递归函数.公约数
- Leetcode 153. Find Minimum in Rotated Sorted Array (Medium) (cpp)
- 我的C++之路
- 有趣的C语言--缓冲区
- 万恶的memset
- 大话设计模式23----命令模式
- GraphicsLab Project之HDR渲染
- C的函数
- 进阶项目1.1-递归函数.奇数乘积
- C++语法 : 内存池技术的原理与实现