小练习
来源:互联网 发布:网络公选课答案 编辑:程序博客网 时间:2024/05/20 07:32
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。
#include<stdio.h>int main(void){ int money = 20; int totol = money; int empty = money; while(empty>1) { totol += totol + empty/2; empty = empty/2 + empty%2; } printf("%d\n",totol);return 0;}
最近学了函数的递归,顺便用递归解决一下,这里只写函数
int getNumber(int n){ if(n ==1) { return 1; } else if(n >=2 && n % 2 == 0 ) { return n + getNumber(n/2); } else if(n >=2 && n % 2 !=0) { return n + 1 + getNumber(n/2); } }
当然我们从大量的结果发现,喝的水是钱数的二倍减一,所以可以简化成:
totol = money * 2 - 1;
这其实就是一种算法,把复杂的问题通过分析,找出规律。
1 0
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 小练习
- 杂谈: MVC/MVP/MVVM
- STM32CubeMX_STM32F303_ADC1~4 DMA1~2采集9路ADC
- HDU
- 内存锁定
- Android 活动(Activity)
- 小练习
- webstorm中配置git
- 【PHP-网页内容抓取】抓取网页内容的两种常用方法
- android:singleLine ="true" 过时
- angularjs 依赖注入3种写法
- c++第五次作业
- 主要介绍了secureCRT脚本的编写基础及对象和方法
- Git合并多个commit
- Java ThreadLocal 内部实现原理 (源代码分析)