m进制转十进制

1475 m进制转十进制

 

 时间限制: 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

#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
char n[100];
int main()
{
    int m;
    while(cin >> n >> m)
    {
        int sum = 0;
        int p = strlen(n) - 1;
        for(int i = 0; i < strlen(n); i++, p--)
        {
            if(n[i] >= 'A')
              sum += pow(m, p) * ((n[i] - 'A') + 10);
            else
              sum += pow(m, p) * (n[i] - '0');
        }
        cout << sum << endl;
    }
}
原文地址:https://www.cnblogs.com/denghui666/p/7818686.html