64,649
社区成员
发帖
与我相关
我的任务
分享
#include <cstdio>
#include <iostream>
inline bool IsOne(int &side, unsigned int &number)
{
return ((1 << side) & number) > 0;
}
void Funs(unsigned int n)
{
if (n <= 0)
{
printf("error\n");
return ;
}
++n;
char chrResult[33];
int iSide, iCount;
iSide = 31;
iCount = 0;
while (iSide >= 0 && !IsOne(iSide, n)) --iSide;--iSide;
while (iSide >= 0)
{
if(IsOne(iSide, n))
{
chrResult[iCount++] = '7';
}
else
{
chrResult[iCount++] = '4';
}
--iSide;
}
chrResult[iCount] = 0;
printf("%s\n", chrResult);
return;
}
int main()
{
unsigned int n;
while (scanf("%u", &n) != EOF)
{
Funs(n);
}
return 0;
}
#include <iostream>
using namespace std;
int Lucky(int M)
{
return M > 1 ? Lucky(M >> 1) * 10 + 4 + (M & 1) * 3 : 0;
}
int LuckyNumber(int N)
{
return N > 0 ? Lucky(N + 1) : 0;
}
int main()
{
for (int N = 0; N < 20; ++N)
{
printf_s("N=%d, V=%d\n", N, LuckyNumber(N));
}
system("pause");
return 0;
}
#include <iostream>
using namespace std;
void Lucky(int M)
{
if (M > 1)
{
Lucky(M >> 1);
printf_s("%d", (M & 1) == 0 ? 4 : 7);
}
}
void LuckyNumber(int N)
{
printf_s("%3d:", N);
if (N > 0)
{
Lucky(N + 1);
printf_s("\n");
}
else
{
printf_s("Invalid\n");
}
}
int main()
{
for (int N = 0; N < 20; ++N)
{
LuckyNumber(N);
}
system("pause");
return 0;
}
#include <iostream>
#include <stack>
using namespace std;
static const int N = 7;
int main()
{
stack<int> Result;
int V[2] = {4, 7};
int M = N + 1;
while (M > 0)
{
Result.push(V[M & 1]);
M >>= 1;
}
Result.pop();
while (!Result.empty())
{
cout << Result.top() << " ";
Result.pop();
}
cout << endl;
system("pause");
return 0;
}
int main(void)
{
int pow32[32];
pow32[0]=1;
for (int i =1 ;i<32;i++)
{
pow32[i]=2*pow32[i-1];
}
while (1)
{
int n=0;
printf("please input a number: ");
scanf("%d",&n);
if (n<=0)
break;
n--; //start from 0
int total_number =0;
int remain =0;
char szNumber[32]={0};
for (int i =0 ;i< 32;i++)
{
if (pow32[i] >n+2)
{
total_number=i-1;
remain = n-(pow32[total_number]-2);
break;
}
}
for (int i =0;i<total_number;i++)
{
if (remain & pow32[total_number -i-1])
szNumber[i]='7';
else
szNumber[i]='4';
}
printf("output =%s\n",szNumber);
}
return 0;
}