版权声明:盗版必究 https://blog.csdn.net/qq_42837885/article/details/89000428
问题描述
对于16进制,我们使用字母A-F来表示10及以上的数字。
如法炮制,一直用到字母Z,就可以表示36进制。
36进制中,A表示10,Z表示35,AA表示370
你能算出 MANY 表示的数字用10进制表示是多少吗?
请提交一个整数,不要填写任何多余的内容(比如,说明文字)
答案
1040254
反思
真的不能大意啊,36进制我调用函数怎么算的是26的阶乘…
代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
char str[] = "MANY";
int len = strlen(str);
int i;
int sum = 0,t = 0;
for (i = len - 1; i >= 0; i--)
{
if (str[i] >= 'A')
{
sum += (int)((str[i] - '7')*pow(36, t++));
}
else
{
sum += (int)((str[i] - '0')*pow(36, t++));
}
}
printf("%d\n", sum);
system("pause");
return 0;
}