2.猜数字
来源:互联网 发布:淘宝客服主管日常管理 编辑:程序博客网 时间:2024/05/21 19:40
A有1数m,B来猜.B每猜一次,A就说"太大","太小"或"对了" 。 <br>问B猜n次可以猜到的最大数。 <br>
Input
第1行是整数T,表示有T组数据,下面有T行 <br>每行一个整数n (1 ≤ n ≤ 30) <br>
Output
猜n次可以猜到的最大数<br>
Sample Input
213
Sample Output
17这个问题可以看成是二分查找逆运算。设最大数为k,就是说在1到k这个范围内,m次可以找到这个范围内的任何一个数。例如:最大数为9,要找的是7,先,猜9,大了,二分猜5,小了,二分猜7.三次。根据这个规律,可以得出,k = 2^m - 1.代码:#include<iostream>using namespace std;int main(){ int p,sum,m; cin>>p; while(p) { --p; sum=1; cin>>m; for(int i=1;i<=m;++i) { sum = sum*2; } cout<<sum-1<<endl; }}
0 0
- 2.猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 使用Classie.js让添加、删除和检查类更容易
- P值已经被废,学的东西有多少是真的?
- #leetcode#283. Move Zeroes
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- QT学习笔记——“const"
- 2.猜数字
- Shell编程-数值相加的三种方式
- 区间dp
- Ubuntu hadoop 伪分布式环境搭建步骤
- Manacher算法
- zynq zedboard standalone audio
- UVA 437The Tower of Babylon (DAG)
- (第8讲)冒泡排序
- RunLoop应用篇--定时器