题目描述
今天小明学会了进制转换,比如(10101)2 ,那么它的十进制表示的式子就是 :
1*2^4+0*2^3+1*2^2+0*2^1+1*2^0,
那么请你编程实现,将一个M进制的数N转换成十进制表示的式子。
注意:当系数为0时,该单项式要省略。
输入输出格式
输入格式:
两个数,M和N,中间用空格隔开。
输出格式:
共一行,一个十进制表示的式子。
输入输出样例
说明
对于100%的数据,1<M<10,N的位数不超过1000。
算法说明:这个题目直接模拟即可。主要是需要注意用字符串的方式存储输入的数据。
1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 int M,i,len,flag=0,t; 6 char N[1005]; 7 scanf("%d %s",&M,N); 8 //printf("%d %s ",M,N); 9 len=strlen(N); 10 t=len-1; 11 for(i=0;i<len;i++) 12 { 13 if(N[i]!='0') 14 { 15 if(flag==1) printf("+%c*%d^%d",N[i],M,t); 16 else printf("%c*%d^%d",N[i],M,t); 17 flag=1; 18 } 19 t--; 20 } 21 return 0; 22 }