HDU 2178.猜数字【分析能力练习】【读题能力练习】【8月10】
2024-10-16 05:28:05
猜数字
Problem Description
A有1数m。B来猜.B每猜一次,A就说"太大"。"太小"或"对了" 。
问B猜n次能够猜到的最大数。
Input
第1行是整数T,表示有T组数据。以下有T行
每行一个整数n (1 ≤ n ≤ 30)
每行一个整数n (1 ≤ n ≤ 30)
Output
猜n次能够猜到的最大数
Sample Input
2
1
3
Sample Output
1
7
哎呀妈呀,这题什么意思啊。-----第一感觉
细致理解理解:比方数据中的3次能够最大猜到7,也就是说,7之内的数都能在3次之内猜到。
这才是这个题的意思。然后分析一下:在最坏的情况下,在1到m间。你最多仅仅要猜log2(m)+1(取整)次(二分),所以易知m=2^n-1.即猜n次。你能猜到的最大数的数为2^n-1.我们也可觉得,在数1到2^n-1间。我们都能够在n次内猜出来。推导到这,代码就能够上了:
#include<cstdio>
#include<cmath>
int main(){
int n,t;
while(scanf("%d",&t)!=EOF){
while(t--){
scanf("%d",&n);
printf("%d\n",(int)pow(2,n)-1);
}
}
return 0;
}
最新文章
- Spring学习(二)
- 字符串和datatime.time类型转为秒
- 自己动手写一个简单的MVC框架(第一版)
- Leetcode: LFU Cache &;&; Summary of various Sets: HashSet, TreeSet, LinkedHashSet
- centos7安装jdk8
- java-commons-HttpClient超时设置setConnectionTimeout和setSoTimeout
- 【C#学习笔记】类型转换
- codeforces #313 div1 C
- common
- Activiti工作流学习-----基于5.19.0版本(1)
- 基于Win32 SDK实现的一个简易线程池
- 转:【Java并发编程】之四:守护线程与线程阻塞的四种情况
- 启动mysql遇到1067问题
- Jmeter性能测试 如何利用SQLserver造出大批的数据
- UE、UI、UCD、UED?职责划分?
- 生成N位数字随机数
- 工控随笔_08_西门子_Win10安装Step7.V5.6中文版授权管理器不能正常启动
- Siamese Neural Networks for One-shot Image Recognition
- Android 页面跳转之生命周期调用顺序问题
- Flutter常用组件(Widget)解析-Scaffold