TLE,80pts求调
查看原帖
TLE,80pts求调
1373219
acommonman楼主2024/12/6 20:01
#include<bits/stdc++.h>
using namespace std;
int ans[1024],t = 0;
void ch(int x, int d){//x是要转换的进制,d是10进制
    int a = x, ct = 0;
    while(a < d){a *= x; ct++; }
    while(d){
        a /= x;
        ans[t++] = d / a;
        if(d >= a)d -= ans[t - 1] * a;
    }
    for(int i = 0; i <= ct; i++){
        if(ans[i] >= 10){
            printf("%c", (ans[i] - 10) + 'A');
        }else printf("%d", ans[i]);
    }
}

int main(){
    int n, m;
    scanf("%d", &n);//进制
    char a[1024];
    scanf("%s", a);//数
    int sum = 0;
    for(int i = 0; a[i] != '\0'; i++){
        if('A' <= a[i]&& a[i] <= 'Z')
            sum = a[i] - 'A' + 10 + sum * n;
        else sum = sum * n + (a[i] - '0');
    }
    scanf("%d", &m);//进制
    ch(m, sum);
    return 0;
}
2024/12/6 20:01
加载中...