首页 > 代码库 > URAL 1081 Binary Lexicographic Sequence

URAL 1081 Binary Lexicographic Sequence

 

第13个位置第5个Bit :13>num[4] =>1 第四个bit 13-num[4]=5 :5<num[3] =>0 ,3-1 第三个Bit 5>num[2](3) 5-num[2]=2 ...

#include<stdio.h>int num[45];void init(){    num[0]=1;    num[1]=2;    int k=2;    while(k<44)    {        num[k]=num[k-1]+num[k-2];        k++;    }}int main(void){    init();    int n,k;    while(scanf("%d%d",&n,&k)!=EOF)    {        if(k>num[n])            printf("-1\n");        else        {            while(n)            {                if(k>num[n-1])                {                    putchar(1);                    k-=num[n-1];                }                else                    putchar(0);                n--;            }            putchar(\n);        }    }    return 0;}