社区讨论

大佬帮忙解或吧,样例过了

P2084进制转换参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m2ftwipi
此快照首次捕获于
2024/10/19 15:19
去年
此快照最后确认于
2025/11/04 16:50
4 个月前
查看原帖

进制转换

题目描述

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

CPP
2 10101

样例输出 #1

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

提示

对于 100%100\% 的数据,1<M<101<M<10NN 的位数不超过 10001000 且均为正整数。
CPP
#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);
       }
   }
}

回复

2 条回复,欢迎继续交流。

正在加载回复...