Chinaunix首页 | 论坛 | 博客
  • 博客访问: 519809
  • 博文数量: 184
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1172
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-21 13:40
个人简介

技术改变命运

文章分类

全部博文(184)

文章存档

2020年(16)

2017年(12)

2016年(156)

我的朋友

分类: C/C++

2016-09-05 23:04:09


点击(此处)折叠或打开

  1. // sa.cpp.cpp : 定义控制台应用程序的入口点。
  2. //

  3. #include "stdafx.h"
  4. #include<iostream>
  5. #include <cstdio>
  6. #include <iostream>
  7. using namespace std;
  8. inline bool IsOne(int &side, unsigned int &number)
  9. {
  10.     return ((1 << side) & number) > 0;
  11. }

  12. void Funs(unsigned int n)
  13. {
  14.     if (n <= 0)
  15.     {
  16.         printf("error\n");
  17.         return ;
  18.     }
  19.     ++n;
  20.     char chrResult[33];
  21.     int iSide, iCount;
  22.     iSide = 31;
  23.     iCount = 0;
  24.     while (iSide >= 0 && !IsOne(iSide, n)) --iSide;
  25.     --iSide;
  26.     while (iSide >= 0)
  27.     {
  28.         if(IsOne(iSide, n))
  29.         {
  30.             chrResult[iCount++] = '7';
  31.         }
  32.         else
  33.         {
  34.             chrResult[iCount++] = '4';
  35.         }
  36.         --iSide;
  37.     }
  38.     chrResult[iCount] = '\0';
  39.     printf("%s\n", chrResult);
  40.     return;
  41. }

  42. int main()
  43. {
  44.     unsigned int n;
  45.     while (scanf("%u", &n) != EOF)
  46.     {
  47.         Funs(n);
  48.     }
  49.     
  50.     return 0;
  51. }

阅读(927) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~