社区讨论

10pts,回帖必关

B3869[GESP202309 四级] 进制转换参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mj1efyz5
此快照首次捕获于
2025/12/11 20:13
3 个月前
此快照最后确认于
2025/12/13 19:25
3 个月前
查看原帖
CPP
#include <bits/stdc++.h> 
using namespace std; 
int cf(int x, int y) 
{ 
    int sum=1; 
    if (y==0) 
    { 
        return 1; 
    } 
    for (int i=1;i<=y;i++) 
    { 
        sum*=x; 
    } 
    return sum; 
} 
int main() 
{ 
    int n; 
    cin>>n; 
    for(int i=1;i<=n;i++) 
    { 
        int sum=0;
        int k; 
        string s; 
        cin>>k>>s; 
        int len=s.size(); 
        for(int j=0;j<len;j++) 
        { 
            char c=s[j]; 
            int d; 
            if(c>='0'&&c<='9') 
            { 
                d=c-'0'; 
            } 
            else if (c>='A'&&c<='F') 
            { 
                d=c-'A'+10; 
            } 
            int w=cf(k,len-j-1); 
            sum+=d*w; 
        } 
        
        cout<<sum<<endl; 
    } 
    return 0; 
}

回复

3 条回复,欢迎继续交流。

正在加载回复...