[洛谷]P2084 进制转换

发布于 2020-03-03  1073 次阅读


题目背景

题目描述

今天小明学会了进制转换,比如(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。

// luogu-judger-enable-o2
#include<cstdio>
#include<cstring>
using namespace std;
int m;
char c[1001];
int main()
{
    scanf("%d ",&m);
    gets(c);
    for (int i=0;i<strlen(c);i++)    
    {
     if(i!=0&&c[i]!='0') printf("+");
     if (c[i]=='0') continue;
      printf("%c*%d^%d",c[i],m,strlen(c)-i-1);
    }
}

一个弱弱的菜鸡