2018-11-01 12:41
上海大学 Java 0 点赞 评论 收藏
分享
crazymind1:我实现的C++版本代码
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
string getnext(int size, int k)
{
string res(size,'0');
for (int i = size - 1; i >= 0; i--)
{
if (k % 2 == 0)k = k / 2;
else
{
k = k / 2;
res[i] = '1';
}
}
for (int i = 0; i < size; ++i)
{
if (res[i] == '0')res[i] = '4';
else res[i] = '7';
}
return res;
}
int main()
{
int k;
while (cin >> k)
{
int size = 1;
int i = 1;
while (1)
{
if (k > pow(2, i))
{
k = k - pow(2, i);
i++;
size++;
}
else
{
break;
}
}
cout << getnext(size,k-1) << endl;
}
cin.get();
return 0;
}
投递京东等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: