• hdu2178猜数字(二分法!!!!)


    ---恢复内容开始---

    猜数字

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


    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
     
     
     1 #include<stdio.h>
     2 #include<math.h>
     3 int main()
     4 {
     5     int t,n;
     6     scanf("%d",&t);
     7     while(t--)
     8     {
     9         scanf("%d",&n);
    10         int ans=0;
    11         ans=pow(2,n)-1;
    12         printf("%d
    ",ans);
    13     }
    14     return 0;
    15 }
    16 //解题报告:
    17 /*
    18 一开始也想到了二分,因为快速查找,二分法是熟读很快的方法。
    19 但是没有想到这样用:
    20 如果在一定区间里去查找一个数,如果区间很大,那么用二分法
    21 每次可以将范围缩小一半;那么反过来,如果要查找一个固定的数,
    22 用二分的思想,让范围一直往右靠(右端不变,左端加1),就能找到足够大的数。
    23  
    24 假设要查找的最大数是m,
    25 则,第一次查找,(m+1)/2=m;得m=1;
    26 第二次查找,((m+1)/2+1+m)/2=m;得m=3;
    27 第三次查找,(((m+1)/2+1+m)/2+1+m)=m;得m=7;
    28 归纳:m=2^n-1; 
    29 */ 

    ---恢复内容结束---

  • 相关阅读:
    iOS开发日记37-app加急审核
    iOS开发日记36-iOS中的依赖注入
    iOS开发日记35-事件处理机制与图像渲染过程
    iOS开发日记34-国际化
    iOS开发日记33-hit-Test
    iOS开发日记32-详解多线程(死锁)
    iOS开发日记31-详解Block
    iOS开发日记30-Autolayout
    springMVC js等文件找不到解决方法
    jQuery UI 中Tabs Ajax载入时出现Http 304的问题
  • 原文地址:https://www.cnblogs.com/qianyanwanyu--/p/4360099.html
Copyright © 2020-2023  润新知