各位高手速度帮小弟个忙????做个题C++

来源:百度知道 编辑:UC知道 时间:2024/06/25 22:43:27
写一个函数,输入一个n进制数m,输出相应的十进制数。
例如:当n=5,m=3204时,则调用该函数输出429。因为(3*53+2*52+0*51+4*50=429)。
当n=2,m=10100时,则调用该函数输出20。
int n2dec (int n, int m)
{… }

/*
我假设了输入正确且<=longint(2^31-1)
*/

#include<iostream>

using namespace std;

long Inc(long x,long y)
{
long i,j=1;
for(i=1; i<=y; i++) j*=x;
return j;
}

long OUTTEN(long n,long m)
{
long i,j=0,k=0;
while(m)
{
i=m%10; j+=i*Inc(n,k);
m/=10;
k++;
}
return j;
}

int main(void)
{
long a,b;
cin>>a>>b;
cout<<OUTTEN(a,b);
getchar();
getchar();
return 0;
}