1 条题解
-
2
思路:先将任意进制转成十进制再将十进制转换成任意进制
进制转换资料:
https://oi-wiki.org/math/base/
#include<bits/stdc++.h> using namespace std; typedef long long ll; int n,m; ll k; int b[105]; int c[105]; string a; int main() { cin>>n; cin>>a; cin>>m; int po=0; int cnt=0; for(int i=0;i<a.length();i++){ if('0'<=a[i]&&a[i]<='9') b[++cnt]=a[i]-48; if('A'<=a[i]&&a[i]<='Z')b[++cnt]=a[i]-'A'+10; } for(int i=cnt;i>=1;i--)k+=b[i]*pow(n,po++); cnt=0; while(k>0){ c[++cnt]=k%m; k/=m; } for(int i=cnt;i>=1;i--){ if(c[i]>=10)cout<<char(c[i]+'A'-10); else cout<<c[i]; } return 0; }
信息
- ID
- 131
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 19
- 已通过
- 7
- 上传者