猜数字
来源:互联网 发布:淘宝新店销量为0能买吗 编辑:程序博客网 时间:2024/06/12 01:42
猜数字
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3561 Accepted Submission(s): 2553
Problem 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
#include <stdio.h>#include <math.h>int main(){int times,n;scanf("%d",×);while (times--){scanf("%d",&n);printf("%.lf\n",pow(2,n)-1);}}
这道题,原来我也是一塌糊涂!现在好多了!
首先看到像这样的题,我们就会想到二分法!他没有给你M的值,所以给我们的第一感觉就是无从下手,其实你仔细一看他不就是一个求方程的解M吗?
假设n是4,我们求M的值
((((1+M)/2+1+M)/2+1+M)/2+1+M)/2=M
我们来解M的值!
(((1+M)/2+1+M)/2+1+M)/2+1+M=2*M
((1+M)/2+1+M)/2+1+M)/2=2*M-M-1=M-1
((1+M)/2+1+M)/2+1+M=2*(M-1)
((1+M)/2+1+M)/2=2*(M-1)-M-1=M-3
(1+M)/2+1+M=2*(M-3)
(1+M)/2=M-7
M=15
这不就是2的4次方-1吗?
找到规律了吗?
0 0
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- 猜数字
- ReadProcessMemory()
- Mac Android Genymotion unable create virtual device
- C# 反射的应用
- 笔记——关于欧拉角与四元数
- HTML网页的META标签常用写法与功能介绍
- 猜数字
- 关于volley请求失败会重新请求问题
- mysql事件
- Spinner用prompt为什么显示不出来提示信息呢?
- mysql事件1
- C#版2048---小圆脸图片版(游戏类与结束)
- C语言学习笔记之 第四讲:C语言Windows命令行编程
- ubuntu14.04 64位 安装eclipse出错
- HDU 2062 Subset sequence 【好题】