时间限制: 1 s
空间限制: 128000 KB
题目等级 : 白银 Silver
题目描述 Description
将m进制数n转化成一个十进制数 m<=16
题目保证转换后的十进制数<=100
输入描述 Input Description
共一行
n和m
输出描述 Output Description
共一个数
表示m进制的n化成十进制的数
样例输入 Sample Input
1010 2
样例输出 Sample Output
10
数据范围及提示 Data Size & Hint
乘权累加法
1 #include<iostream>
2 #include<cmath>
3 #include<cstring>
4 #include<cstdio>
5 using namespace std;
6 int a[1001];
7 char a1[1001];
8 int main()
9 {
10 int n;
11 int ans=0;
12 scanf("%s",&a1);
13 cin>>n;
14 int la=strlen(a1);
15 for(int i=0;i<la;i++)
16 {
17 if(a1[i]>=65)
18 a[i]=a1[i]-55;
19 else
20 a[i]=a1[i]-48;
21 }
22 int i=0;
23 int now=la-1;
24 while(i<la)
25 {
26 ans=ans+a[now]*(double)(pow(n,i));
27 i++;
28 now--;
29 }
30 cout<<ans;
31 return 0;
32 }