题目描述 今天小明学会了进制转换,比如(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。 我的程序如下:- #include <iostream>
- #include <string>
- using namespace std;
- int main()
- {
- int m,k,j;
- string n;
- cin>>m;
- getline(cin,n);
- k=n.size();
- j=k;
- int l=0;
- for(int i=1;i<j;i++)
- {
- k--;
- if(n[i]=='0')
- continue;
- if(l>0)
- cout<<"+"<<n[i]<<"*"<<m<<"^"<<k-1;
- else
- {
- cout<<n[i]<<"*"<<m<<"^"<<k-1;
- l++;
- }
- }
- return 0;
- }
复制代码 当然,这里也欢迎各位发表哦
|