题目描述
时间:1s 空间:128M
题目描述:
今天小Y学会了进制转换,比如(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
我的代码
#include<bits/stdc++.h>
using namespace std;
int m,n1[1000]={};
string n;
int main()
{
cin>>m>>n;
int a=n.size()-1;
while(a+1)
{
if(n[a]>='0' && n[a]<='9') n1[a]=n[a]-'0';
else n1[a]=n[a]-55;
a--;
}
a=n.size()-1;
cout<<n1[a]<<"*"<<m<<"^"<<a;
a--;
while(a+1)
{
if(n1[a]!=0)
{
cout<<"+"<<n1[a]<<"*"<<m<<"^"<<a;
}
a--;
}
return 0;
}
请各位看看有什么问题