HDU2178 猜数字【数学计算+水题】

猜数字

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

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
Author
Zhousc
Source

问题链接HDU2178 猜数字

问题简述参见上文。

问题分析:就是计算2的n次幂问题。

程序说明:使用函数pow()来实现,AC了只能说是侥幸,该函数返回的是double类型,有可能发生精度丢失。也许自己编写一个快速幂函数来算更加合理。

题记:(略)


AC的C++语言程序如下:

/* HDU2178 猜数字 */

#include <stdio.h>
#include <math.h>

int main(void)
{
    int t, n;

    scanf("%d", &t);
    while(t--) {
        scanf("%d", &n);

        printf("%d\n", (int)pow(2, n) - 1);
    }

    return 0;
}



posted on 2017-07-23 20:51  海岛Blog  阅读(314)  评论(0编辑  收藏  举报

导航