2489411_tle.cc

来自「做的POJ的一些题目」· CC 代码 · 共 37 行

CC
37
字号
#include<iostream>
using namespace std;
int result(int h)
{
     int left,k=0,total=1;
     for(int m=1;;m++)
     {
        for(int i=1;i<=m;i++)
           total=2*total; 
        while(total*(2*k+1)<=h)
        {
             if(total*(2*k+1)==h)
                 return m;
             k++;                       
        }  
        k=0;  
        total=1;       
     }   
}
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
       int h;
       cin>>h;
       int m=result(h);
       int left=1;
       for(int i=1;i<=m;i++)
           left=left*2;
        left=h+1-left;
        cout<<left<<" "<<2*h-left<<endl;
    }   
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?