17年第八届蓝桥杯国赛C/C++ B组

1.36进制

题目

对于16进制,我们使用字母A-F来表示10及以上的数字。
如法炮制,一直用到字母Z,就可以表示36进制。
36进制中,A表示10,Z表示35,AA表示370 。
你能算出 MANY 表示的数字用10进制表示是多少吗?

思路

直接计算,答案是1040254。

代码

#include<bits/stdc++.h>
using namespace std;
 
int main()
{
  string num="MANY";
  int ans=0;
  for (int i=0;i<num.size();i++) {
  	ans=ans*36+(num[i]-'A'+10);
  }
  cout<<ans<<endl;
 
  return 0;
}

2.

留下评论