1008

来源:互联网 发布:日本电影知乎 编辑:程序博客网 时间:2024/04/30 09:24

简单题意:给定一个数n.求猜测的最大数

解题思路:这题刚开始的时候,弄不懂题意是什么,通过反复读题和比较数据,最终发现规律。假定设所猜的最大的数为max。那么运用二分法。取一次中间值就要除以2,max两次中间值就要除2的平方,以此类推,最终求出m的值,次数即为n。也就是说要猜对m就要进行log2 max+1即 log2 max+1=n,所以max=2^n-1

感想:这题主要就是运用了二分法的时间复杂度,学好数据结构,也就没那么困难了

AC代码:

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    int T;
    cin>>T;
    while(T--)
    {   int n;
        cin>>n;
        int max;

        max=(int)pow(2,n)-1;
        cout<<max<<endl;
    }
    return 0;
}

 

 

0 0
原创粉丝点击