京东笔试

题目:4和7是两个幸运数字,我们定义,十进制表示中,每一位只有4和7两个数的正整数都是幸运数字。前几个幸运数字是:4,7,44,47,74,77......

输入:数字k

输出:第k个幸运数

样例输入:

3

5

100

10000000

样例输出:

74

744747

44774447447477474444447

 1 #include <iostream>
 2 #include <stack>
 3 using namespace std;
 4 
 5 int main(){
 6     int n,sum=0;
 7     cin>>n;
 8     stack<int>st;
 9     int luckly[2]={7,3};
10     while(n!=0){
11         st.push(luckly[n%2]);
12         n=(n-1)/2;
13     }
14     while(!st.empty()){
15         int num=st.top();
16         st.pop();
17         sum=sum*10+num;
18     }
19     cout<<sum<<endl;
20 }
原文地址:https://www.cnblogs.com/healthylife/p/5848092.html