首页 > 其他分享 >HDOJ2178 猜数字

HDOJ2178 猜数字

时间:2023-02-20 10:34:38浏览次数:44  
标签:log2 scanner int System HDOJ2178 数字 static Scanner


题目链接​​:http://acm.hdu.edu.cn/showproblem.php?pid=2178​


题目的意思比较难以理解。


讲的是"最多猜n次,但一定可以猜到1至m(闭区间[1,m])内的任意数字,求m的最大值"


也就是给出n,求m,有如下公式:
n = log2(m)
m = 2^n


在最坏的情况下,在1到m间,最多只要猜log2(m)+1(取整)次,所以易知:m=2^n-1。即猜m次,,
能猜到的最大的数为2^n-1。


下面AC代码:


import java.util.Scanner;

public class Main{
private static Scanner scanner;

public static void main(String[] args) {
scanner = new Scanner(System.in);
int cases = scanner.nextInt();
while (cases-- > 0) {
int n = scanner.nextInt();
System.out.println((int) Math.pow(2, n) - 1);
}
}
}



标签:log2,scanner,int,System,HDOJ2178,数字,static,Scanner
From: https://blog.51cto.com/u_15741949/6067732

相关文章