(hdu step 4.1.8)猜数字(求n次所能猜到的最大数字)
来源:互联网 发布:美发免费收银软件 编辑:程序博客网 时间:2024/06/07 10:29
题目:
猜数字
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 318 Accepted Submission(s): 247Problem Description
A有1数m,B来猜.B每猜一次,A就说"太大","太小"或"对了" 。
问B猜n次可以猜到的最大数。
问B猜n次可以猜到的最大数。
Input
第1行是整数T,表示有T组数据,下面有T行
每行一个整数n (1 ≤ n ≤ 30)
每行一个整数n (1 ≤ n ≤ 30)
Output
猜n次可以猜到的最大数
Sample Input
213
Sample Output
17
Author
Zhousc
Source
ECJTU 2008 Summer Contest
Recommend
lcy
题目分析:
要猜到最大的数字m,也就是说,在1到m间的每一个数,你都能在n次内把它猜出来!
所以说在最坏的情况下,在1到m间,你最多只要猜log2(m+1)(取整)次,所以易知==>m=2^n - 1.即猜n次,你能猜到的最大的数为2^n - 1.我们也可认为,在数1到2^n - 1间,我们都可以在n次内猜出来,如果大于这个数,n次内我们就有 可能猜不来了。例如1--7间,我们至少要猜3次猜可以
代码如下:
/* * i.cpp * * Created on: 2015年2月16日 * Author: Administrator */#include <iostream>#include <cstdio>#include <cmath>using namespace std;int main(){int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);printf("%d\n",(int)pow(2 + 0.0,n)-1);}return 0;}
1 0
- (hdu step 4.1.8)猜数字(求n次所能猜到的最大数字)
- (hdu step 3.2.7)免费馅饼(数塔变形:求所能接到馅饼的最大数)
- (hdu step 4.1.5)find the nth digit(求S串中的第n个位置上是什么数字)
- 一组数字,求能组成的最大数
- (hdu step 1.2.8)Specialized Four-Digit Numbers(求一个数字各个数位上数字的和)
- 《SDUT1730 数字三角形问题》2关于数字三角形,求最小值最大值的N次纠结。
- HDU 1060 1061求 n^n 最左边 最右边的数字
- HDU 1060 求N ^ N 的第一位数字 用log 降低位数
- 求n!最右端非 0的数字!!hdu Last non-zero Digit in N!
- HDU Leftmost Digit(求n^n最高位的数字)
- 算法笔试题(一):求数字N以内最大质数
- uva10905连接n个数字,使得连成的数字最大
- (hdu step 2.2.8)N!Again(求N!的阶乘%2009以后的结果)
- 求n!的最高位数字
- 求长度为n的数字组合
- 求任意10个数字中最大的一个数字
- 输入三个数字,求三个数字中最大的一个
- 求n^n和n!的最左边的数字
- 《数据结构编程实验》 1.1.1Financial Management
- requestWindowFeature使用详解
- IO中同步、异步与阻塞、非阻塞的区别
- Drupal
- pat 1062
- (hdu step 4.1.8)猜数字(求n次所能猜到的最大数字)
- poj 2686 状态dp
- linux应用程序如何运行
- 沉浸式状态栏
- oracle错误代码
- 骨牌铺方格
- IT常用英语
- poj 2411 Mondriaan's Dream 状压dp入门
- HDU--2212 DFS【水题】