大佬帮忙解或吧,样例过了
查看原帖
大佬帮忙解或吧,样例过了
1366067
wei_learn_city楼主2024/10/19 15:14

进制转换

题目描述

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

1×24+0×23+1×22+0×21+1×201\times 2^4+0\times 2^3+1\times 2^2+0\times 2^1+1\times 2^0

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

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

输入格式

两个整数,MMNN,中间用空格隔开。

输出格式

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

样例 #1

样例输入 #1

2 10101

样例输出 #1

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

提示

对于 100%100\% 的数据,1<M<101<M<10NN 的位数不超过 10001000 且均为正整数。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=50;
ll a[N];
ll m,n,cnt;
int main()
{
   cin>>m>>n;
   while(n)
   {
       a[cnt]=n%10;
       cnt++;
       n/=10;
   }
   reverse(a,a+cnt);
   for(int i=0;i<cnt;i++)
   {
       if(a[i]!=0)
       {
          if(cnt-i-1!=0)
          {
               cout<<a[i]<<"*"<<m<<"^"<<(cnt-i-1)<<"+";
          }else cout<<a[i]<<"*"<<m<<"^"<<(cnt-i-1);
       }
   }
}
2024/10/19 15:14
加载中...