博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

codevs m进制转化成10进制

Posted on 2016-01-12 21:45  shaoweiyi  阅读(250)  评论(0编辑  收藏  举报

注意ABC的转化

#include <iostream>
#include <string.h>
#include <memory.h>
#include <algorithm>
#include <cmath>
#include <cctype>
using namespace std;

int main()
{
   ///进制转换

///提取各位 就可以了
char n[8];///每次剩余未处理的数
int change[8];
int m;
int temp;
cin>>n;
int x=strlen(n);
cin>>m;

for(int i=0;i<8;++i)
{
    if(!isdigit(n[i]))
    {
        change[i]=n[i]-'A'+10;
    }
    else
        {
            change[i]=int(n[i])-'0';
          }
}

int ans=0;

for(int i=0;i<x;++i)
{
    ans+=change[i]*pow(m,x-1-i);
}
cout<<ans<<endl;
  return 0;
}