HDU2178猜数字

HDU2178猜数字

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2716    Accepted Submission(s): 1955

Problem Description
A有1数m,B来猜.B每猜一次,A就说"太大","太小"或"对了" 。 
问B猜n次可以猜到的最大数。 

Input
第1行是整数T,表示有T组数据,下面有T行 
每行一个整数n (1 ≤ n ≤ 30) 

Output
猜n次可以猜到的最大数

Sample Input
2
1
3
 
Sample Output
1
7

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n,m;
cin>>n;
while(n--)
{
cin>>m;
cout<<(int)pow(2,m)-1<<endl;
}
return 0;
}

题意:最多猜n次一定可以猜到1至m(闭区间)内的任意数字,求m的最大值。
公式不完全推导:
以n=3为例: 
设闭区间为1到m,m即为所求. 
由二分思想,尽量往右靠(每次取中间值加1为新的左边界且右边界不变),
可列出等式, 
(((((1+m)/2)+1+m)/2)+1+m)/2=m 
解得,m=7. 
推广,当n=n时,归纳易得, 
m=(2^n)-1.

时间: 2024-11-03 04:45:53

HDU2178猜数字的相关文章

JSP学习笔记(七)-----猜数字游戏

js|笔记 1. 这是一个猜数字的游戏,通过使用JSP调用JavaBean2. 需要两个文件,number.jsp和NumberGuessBean.java3. 先看number.jsp代码:<html><jsp:useBean id="number" class="NumberGuessBean" scope="session" /><jsp:setProperty name="number"

js猜数字小游戏的简单实现代码

这篇文章介绍了js猜数字小游戏的简单实现代码,很好玩的游戏哦,可以看看你的智商 是否惊人额   复制代码 代码如下:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xh

C语言编写的娱乐小工具【小时钟、猜数字】

1.实现动态显示当前计算机时间 #include <stdio.h> #include <time.h> int main() { int h = 0; int m = 0; int s = 0; int t = 0;//存储time函数的返回值 while(1){ t = time(0);//取得当前的时间(秒的总和) //将t拆分为时分秒 s = t%60; m = t%3600/60; h = (t%(24*3600)/3600 + 8)%24;//东8区 printf(&q

新手 帮忙 网页-用一个JSP页面编写一个猜数字游戏

问题描述 用一个JSP页面编写一个猜数字游戏 系统内部生成一个0-100之间的随机数,提供一个表单让用户来猜这个数字是多少,若猜大了,出现"大了"的提示,若猜小了,出现"小了"的提示,直到用户猜到正确的数字时,提示"猜对了!",并统计用户猜了几次才猜对. 我的代码: **<%@ page language="java" import="java.util.*" pageEncoding="U

HDU1172 猜数字

猜数字 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2313    Accepted Submission(s): 1329 Problem Description 猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么.每猜一个数,计算机都会告诉玩家猜对几个数字,其

页面-jsp猜数字遇到的小问题,求教!!

问题描述 jsp猜数字遇到的小问题,求教!! 写了一个猜数字的页面,代码如下: <%@ page contentType="text/html;charset=gb2312"%> 猜数字游戏 猜数字 <% int resultNum=(int)(Math.random()*100+1); session.setAttribute("count",new Integer(0)); session.setAttribute("result&q

c++编写猜数字游戏如何控制布尔值不让程序进入死循环?

问题描述 c++编写猜数字游戏如何控制布尔值不让程序进入死循环? 游戏规则:系统随机出一个三位数,例如1.2.3,假设你猜1.3.2,那么系统则给与2,1.2代表数字和位置相对,1代表数字对而位置不对,0代表位置和数字都不对.关键是怎么用布尔值控制0-9这些数字且在比较的时候不让程序进入死循环呢? 解决方案 思路说下:首先把这三位数按个.十.百 分别存入到一个数组中a[0] = 个, a[1] = 十, a[2]= 百, 然后对你猜的数也分成个十百,分两次比较: 第一次:比较该位上的数是否完全匹

关于用管道流实现界面化的简易猜数字

问题描述 程序实现不了猜数字的过程,可能是TestThread的run方法靠MyWin的run实现,请问怎么改写importjava.io.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.lang.*;publicclassNumberTest{publicstaticvoidmain(String[]args){MyWinwin=newMyWin();win.firstThread.start()

java-Java猜数字问题,新手求解

问题描述 Java猜数字问题,新手求解 package homework; import javax.swing.*; import javax.swing.border.Border; import java.awt.*; import java.awt.event.*; public class GameTest { public static void main(String[] args) { // TODO 自动生成的方法存根 GameFrame gf = new GameFrame(