[PAT解题报告] D进制的A+B (20)

转载 from http://tech-wonderland.net/blog/pat-basic-level-practise-1021-1025-solutions.html

解题思路: 水题, 简单的进制转换算法, 不断的求余数即可, 注意A+B可能等于零的这种特殊情况. 下面是AC代码:
#include <iostream>
#include <string>
#include <algorithm>

std::string gao(int iNum, int iRadix)
{
    if(0 == iNum) return "0";
    std::string strResult("");
    while(iNum) {
        strResult.push_back(iNum % iRadix + '0');
        iNum /= iRadix;
    }
    std::reverse(strResult.begin(), strResult.end());
    return strResult;
}

int main()
{
    int A, B, D;
    std::cin >> A >> B >> D;
    if(10 == D) {
        std::cout << A + B << std::endl;
        return 0;
    }
    std::cout << gao(A + B, D) << std::endl;
    return 0;
}

全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
Lorn的意义:你这标个前端是想找全栈吗?而且项目确实没什么含金量,技术栈太少了,边沉淀边找吧 现在学院本想就业好一点四年至少得高三模式两年加油吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务