147

Description

春节刚刚过,大家都是怎么过的呢?对江鸟而言,当然每天都是在打麻将中度过,他特别喜欢所谓的“通挂”,什么147,258,369。只要是遇到上述牌,他就会很高兴。现在他提出一个问题:如果只利用数字1,4,7 组成一些数,那么你能很快求出第K(1<=K<=10000)大数吗?如前几个数将会是:1、4、7、11、14、、、

Input

输入一个如上所描述的整数K,(1<=K<=10000),多组输入。

Output

输出需要的第K大数。

Sample Input

1
3
4

Sample Output

1
7
11





#include<stdio.h>
char a[3]={'1','4','7'};
void main()
{
int i,n;
while(scanf("%d",&n)!=EOF)
{
if(n<=3){printf("%c\n",a[n-1]);continue;}
int b[100],t=0;
n--;
while(n/3)
{
b[t++]=n%3;
n=n/3-1;
}
b[t]=n%3;
while(t>=0)printf("%c",a[b[t--]]);
printf("\n");
}
}

posted @ 2013-06-27 00:00  失眠的娃儿  阅读(309)  评论(0编辑  收藏  举报