• POJ 1906


    #include <iostream>
    #include <string>
    #define MAXN 150
    using namespace std;
    
    int _m[MAXN];
    
    string p[65] = {
                "1",
                "3",
                "9",
                "27",
                "81",
                "243",
                "729",
                "2187",
                "6561",
                "19683",
                "59049",
                "177147",
                "531441",
                "1594323",
                "4782969",
                "14348907",
                "43046721",
                "129140163",
                "387420489",
                "1162261467",
                "3486784401",
                "10460353203",
                "31381059609",
                "94143178827",
                "282429536481",
                "847288609443",
                "2541865828329",
                "7625597484987",
                "22876792454961",
                "68630377364883",
                "205891132094649",
                "617673396283947",
                "1853020188851841",
                "5559060566555523",
                "16677181699666569",
                "50031545098999707",
                "150094635296999121",
                "450283905890997363",
                "1350851717672992089",
                "4052555153018976267",
                "12157665459056928801",
                "36472996377170786403",
                "109418989131512359209",
                "328256967394537077627",
                "984770902183611232881",
                "2954312706550833698643",
                "8862938119652501095929",
                "26588814358957503287787",
                "79766443076872509863361",
                "239299329230617529590083",
                "717897987691852588770249",
                "2153693963075557766310747",
                "6461081889226673298932241",
                "19383245667680019896796723",
                "58149737003040059690390169",
                "174449211009120179071170507",
                "523347633027360537213511521",
                "1570042899082081611640534563",
                "4710128697246244834921603689",
                "14130386091738734504764811067",
                "42391158275216203514294433201",
                "127173474825648610542883299603",
                "381520424476945831628649898809",
                "1144561273430837494885949696427",
                "3433683820292512484657849089281"
    };
    
    int fun(unsigned long long num);
    
    int main()
    {
        //freopen("acm.acm","r",stdin);
        unsigned long long  num;
        unsigned long long  tem;
        int index;
        int i;
        while(cin>>num)
        {
            if(num == 0)
            {
                break;
            }
        //    cout<<num<<endl;
            if(num == 1)
            {
                cout<<"{ }"<<endl;
            }
            else
            {
                index = fun(num-1);
                cout<<"{ ";
                //cout<<index<<endl;
                int j = 0;
                for(i = 0; i < index-1; ++ i)
                {
                    if(_m[i] == 1)
                    {
                        cout<<p[j]<<", ";
                    }
                    ++ j;
                }
                if(_m[i] == 1)
                {
                    cout<<p[j];
    
                }
                cout<<" }"<<endl;
            }
        }
    }
    
    int fun(unsigned long long num)
    {
        int i = 0;
        while(num)
        {
            _m[i ++] = num%2;
            num /= 2;
        }
        return i;
    }

    关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

    技术网站地址: vmfor.com

  • 相关阅读:
    Docker 安装各种环境
    N级树形菜单封装
    一个周期算出所有高电平的个数
    DDR3新版(3):DDR3自动读写控制器
    DDR3_新版(2):IP核再封装
    数电(6):时序逻辑电路
    Vue表单那些事
    liunx环境修改minio默认端口和后台启动
    liunx 后台启动mongodb服务
    liunx安装和部署nacos配置中心
  • 原文地址:https://www.cnblogs.com/gavinsp/p/4566575.html
Copyright © 2020-2023  润新知