- 二进制转化为十进制
给定一个长度为n的k进制数s,返回它的十进制结果
- 2025-5-30 19:43:10 @
#include<bits/stdc++.h>
using namespace std;
// 给定一个长度为n的k进制字符串,此函数可以返回它的十进制结果
int k2ten(int n, string s, int k)
{
int base = 1, ans = 0;
for (int i = n-1; i >= 0; i--)
{
if (s[i] != '0')
{
if (s[i] >= '0' && s[i] <= '9')
ans += (s[i] - '0') * base;
else // A-F
{
ans += (s[i] - 'A' + 10) * base;
}
}
base *= k;
}
return ans;
}
int main()
{
int n, k;
string s;
cin >> n >> k >> s;
cout << k2ten(n, s, k);
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 259
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 12
- 已通过
- 7
- 上传者