求助,大神们帮忙看看!
查看原帖
求助,大神们帮忙看看!
1017338
Andy404楼主2024/2/25 11:16

- P1143 进制转换

#include<bits/stdc++.h>
using namespace std;
char a[31],s,d[31];
int main(){
    long long n,m,b[31],c=0,sum=0;
    cin>>n>>s>>a>>m;
    c=strlen(a)-1;
    for(long long i=0;i<strlen(a);i++){
        if(a[i]>='A'&&a[i]<='F')b[c]=a[i]-'A'+10;
        else b[c]=a[i]-'0';
        c--;
    }
    for(long long i=0;i<=c;i++){
        sum+=pow(n,i)*b[i];
    }
    int j=0;
    while(sum!=0){
        j++;
        long long s1=sum%m;
        if(s1>=10)d[j]=(s1-10)+'A';
        else d[j]=s1+'0';
        sum/=m;
    }
    for(int i=j;i>=0;i--)cout<<d[j];
    return 0;
}
2024/2/25 11:16
加载中...