设计一个将十进制数能够转化成任意二至九进制的算法
#include <stdio.h>
#include<math.h>
//x的n次方的幂函数
long Mici(int x,int n){
long m=1;
for(int i=0;i<n;i++){
m=m*x;
}
return m;
}
//m进制,x为十进制数
long Ivert(int x,int m){
long y=0;
int n,i,j,p;
while(x!=0){
//log以m为底x的对数,取整
p=log(x)/log(m);
n= (int)p;
i=Mici(10,n);
y=i+y;
j=Mici(m,n);
x=x-j;
}
return y;
}
int main(){
int x,m;
scanf("%d",&x);//long型变量存储有限,不支持转换后位数超过10的十进制数
scanf("%d",&m);
long a=Ivert(x,m);
printf("%d\n",a);
return 0;
}