zoukankan      html  css  js  c++  java
  • Careercup

    2014-05-12 07:27

    题目链接

    原题:

    Convert a base 2 number to a base 4 number

    题目:把二进制数转化成四进制数。

    解法:四是二的倍数,所以两位变一位就可以了。

    代码:

     1 // http://www.careercup.com/question?id=24313662
     2 #include <iostream>
     3 #include <string>
     4 using namespace std;
     5 
     6 string baseConvert2To4(string num)
     7 {
     8     string res;
     9     int n = (int)num.size();
    10     int i;
    11     
    12     res.resize((n + 1) >> 1);
    13     for (i = n - 2; i >= 0; i -= 2) {
    14         res[(i >> 1) + (n & 1)] = ((num[i] - '0') << 1) + (num[i + 1] - '0') + '0';
    15     }
    16     if (n & 1) {
    17         res[0] = num[0];
    18     }
    19     
    20     return res;
    21 }
    22 
    23 int main()
    24 {
    25     string num;
    26     
    27     while (cin >> num) {
    28         cout << baseConvert2To4(num) << endl;
    29     }
    30     
    31     return 0;
    32 }
  • 相关阅读:
    编译安装LEMP
    eAccelerator配置和使用指南
    /dev/null的用途
    分库分表
    JVM
    SOFA 数据透析
    HTTPS
    SOFA 通信
    分布式锁
    mysql 锁
  • 原文地址:https://www.cnblogs.com/zhuli19901106/p/3722697.html
Copyright © 2011-2022 走看看