因为人的每只手有五只手指,某土著部落使用五进制。他们用V表示0,W表示1,X表示2,Y表示3,Z表示4。
例如 WXYZV表示15^4+25^3+35^2+45^1+0*5^0 = 970
输入一个5位五进制数,输出对应的十进制数。
【数据范围】
输入数据为非负整数。
【输入格式】
一行,一个5位五进制数。
【输出格式】
对应的十进制整数。
【样例输入】
五个V
【样例输出】
0
【样例输入】
W四个V
【样例输出】
625
供参考:
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
int i, num = 0, len;
char str[64];
gets(str);
len = strlen(str);
for (i = 0; str[i]; i++)
{
switch (str[i])
{
case 'V':num += 0 * pow(5, len - 1 - i); break;
case 'W':num += 1 * pow(5, len - 1 - i); break;
case 'X':num += 2 * pow(5, len - 1 - i); break;
case 'Y':num += 3 * pow(5, len - 1 - i); break;
case 'Z':num += 4 * pow(5, len - 1 - i); break;
default:
break;
}
}
printf("%d", num);
return 0;
}
每一位乘以5的n次方,然后相加即可。
参考下:
https://blog.csdn.net/weixin_39562998/article/details/117176276