洛谷-P2084 进制转换

洛谷-P2084 进制转换

原题链接:https://www.luogu.com.cn/problem/P2084


题目背景

题目描述

今天小明学会了进制转换,比如(10101)2 ,那么它的十进制表示的式子就是 :

(1*2^4+0*2^3+1*2^2+0*2^1+1*2^0)

那么请你编程实现,将一个M进制的数N转换成十进制表示的式子。

注意:当系数为0时,该单项式要省略。

输入格式

两个数,M和N,中间用空格隔开。

输出格式

共一行,一个十进制表示的式子。

输入输出样例

输入 #1

2 10101

输出 #1

1*2^4+1*2^2+1*2^0

说明/提示

对于100%的数据,1<M<10,N的位数不超过1000。

C++代码

#include <iostream>
#include <cstring>
using namespace std;

int main() {
    int m, len;
    string n;
    cin >> m >> n;
    len = n.size();
    for (int i=0; i<len; ++i)
        if (n[i] != '0') {
            if (i != 0)
                cout << '+';
            cout << n[i] << '*' << m << '^' << len-i-1;
        }
    cout << endl;
    return 0;
}
原文地址:https://www.cnblogs.com/yuzec/p/13456378.html