UVa 11384 Help is needed for Dexter (递归)
2016-05-25 23:49
260 查看
题意:给定一个n表示1到n的序列,让你用最小的步数把这个序列都变为0,每个操作可以从序列中选择一个或多个个,同时减掉一个正整数,求最少的步数。
析:一看这个题,感觉挺高深的,但是静下心来想想,其实挺简单。和二分思想有点像,你可把n/2到n的数减掉一个数,变成和前n/2个是一样,然后重复操作,直到全为0。
代码如下:
析:一看这个题,感觉挺高深的,但是静下心来想想,其实挺简单。和二分思想有点像,你可把n/2到n的数减掉一个数,变成和前n/2个是一样,然后重复操作,直到全为0。
代码如下:
#include <iostream> #include <cstdio> using namespace std; int f(int n){ return 1 == n ? 1 : f(n/2) + 1; } int main(){ int n; while(~scanf("%d", &n)){ int ans = f(n); cout << ans << endl; } return 0; }
相关文章推荐
- Codeforces round #353div2 C
- Python 中一些需要查询的东西
- akka入门
- 排序算法之插入排序
- 数据结构(C++)—— 向量(Vector)
- windows下后门技术(netcat篇)
- 当struts遇上json,没爱了
- 网络编程—线程
- 当struts遇上json,没爱了
- 约瑟夫环_循环链表实现
- GeoIP最快捷安装
- Mac下Caffe安装-无GPU
- 【android】:android阶段性学习之我见
- Sublime Text 3快捷键及常用插件
- Ubuntu Linux 安装 .7z 解压和压缩文件
- 工具类app存亡观察
- wind10系统 Atheros AR9271 Wireless Network Adapter USBwifi无线网卡的驱动安装解决无法搜索wifi信号,连接wifi信号无法上网的问题
- POJ 3083 BFS+DFS 40行
- POJ 3083 BFS+DFS 40行
- 上拉刷新,下拉加载