将一个十一进制整数转化为十进制整数,该十一进制使用0,1,2,3,4,5,6,7,8,9,a表示。
输入格式:
输入一个十一进制数N。(N的位数不超过6位)
输出格式:
输出经过转化后的十进制数。
输入样例:
在这里给出一组输入。例如:
1234a6
输出样例:
在这里给出相应的输出。例如:
194926
1.首先得知道进制之间转换的原理
例如:十进制123就是 3*10^0+2*10^1+1*10^2=3+20+100=123(因为这里是十进制所以乘以10)
同理:十一进制123转十进制就是3*11^0+2*11^1+1*11^2=3+22+121=146
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[6];
int i,c=0;
long long sum=0;
scanf("%s",a);
int len=strlen(a);
for(i=0;i<6;i++)
{
c=c+1;
if(a[i]>='0' && a[i]<='9')
{
sum=sum+pow(11,len-c)*(a[i]-'0');
}
else
{
sum=sum+pow(11,len-c)*10;
}
}
printf("%lld",sum);
}
其他进制也可以使用相同方法