C语言 喝汽水问题
2015-08-09 17:40
375 查看
/************************************************************************************ 2.每瓶汽水1元,两个空瓶可以置换一瓶汽水,现在有20元, 最多能喝多少瓶汽水。(编程实现)。 分析: 你n个瓶子换一个 就是 n-1块钱可以喝 n 瓶。(假设可以先借一瓶) 最简单办法 就是用公式: money/(n-1)*n+money%(n-1) money是你有多少钱 n 为多少个瓶子换一个 新汽水; 下面是 一般逻辑的代码: ************************************************************************************/ #include<stdio.h> int count_bottle_num(int money) { int num = 0; int null_bottle = 0; int full_bottle = money; while (1) { num += full_bottle; null_bottle = full_bottle+null_bottle%2; full_bottle = null_bottle / 2; if (null_bottle == 1) { return num+1; } } } int main() { int money = 0; printf("请输入金额:"); scanf("%d",&money); printf("%d元钱可以喝%d瓶汽水!!\n",money,count_bottle_num(money)); return 0; }
相关文章推荐
- C语言标准库函数qsort排序的介绍与使用
- thrift cpp hello world
- C++第一个综合项目
- 对半搜索递归实现 C++
- C++实现基于IO复用模型的echo服务器
- c++使用应用框架
- C++那些细节--static关键字
- [leetcode-84]Largest Rectangle in Histogram(c++)
- C++(Qt)静态成员类undefined reference to “xxx”
- php调用c++程序例子
- C++ class与内存
- LeetCode #2 Add Two Numbers
- LeetCode #1 Two Sum
- C++中虚函数内存布局
- 读书笔记-C++PrimerPlus-8.2.6 对象、继承和引用10.2.5 修改实现
- C++函数模板 模板实例化、具体化
- C语言-01-基本语法
- 大整数类BigInteger
- C++ 几种排序算法
- C++: Vector详解