华师一附中OI组

标题: 2048进制转换 [打印本页]

作者: GTR    时间: 2018-7-19 22:45
标题: 2048进制转换
题目描述
今天小明学会了进制转换,比如(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。
我的程序如下:
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main()
  5. {
  6.     int m,k,j;
  7.     string n;
  8.     cin>>m;
  9.     getline(cin,n);
  10.     k=n.size();
  11.     j=k;
  12.     int l=0;
  13.     for(int i=1;i<j;i++)
  14.     {
  15.         k--;
  16.         if(n[i]=='0')
  17.         continue;
  18.         if(l>0)
  19.         cout<<"+"<<n[i]<<"*"<<m<<"^"<<k-1;
  20.         else
  21.         {
  22.             cout<<n[i]<<"*"<<m<<"^"<<k-1;
  23.             l++;
  24.         }
  25.     }
  26.     return 0;
  27. }
复制代码
当然,这里也欢迎各位发表哦


作者: admin    时间: 2018-7-19 22:48
字符串变量不要用n  轻易不要getline




欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2