Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
167926 B班_贾昊天 进制数加法 C++ 运行出错 0 1 MS 256 KB 933 2024-08-19 20:48:13

Tests(0/6):


#include <bits/stdc++.h> using namespace std; const int N = 100; int ans1,ans2,n,ans; int Change_to_10(int len,string a) { int sum = 0,p = 0; for(int i = len - 1; i >= 0; i--) { if(a[i] >= '0' && a[i] <= '9') { sum += (a[i] - '0') * pow(n,p); } else if(a[i] >= 'A' && a[i] <= 'Z') { sum += (a[i] - 'A' + 10) * pow(n,p); } else { sum += (a[i] - 'a' + 10) * pow(n,p); } ++p; } return sum; } void Change_to_N(int x) { int a[500] = {0},l = 0; if(x == 0) { printf("0"); return; } while(x != 0) { a[++l] = x % n; x /= n; } for(int i = l; i >= 1; i--) { if(a[i] >= 10) { char ch = 'A'; ch += a[i] - 10; printf("%c",ch); } else { printf("%d",a[i]); } } } int main() { string a,b; scanf("%d %s %s",&n,&a,&b); ans1 = Change_to_10(a.size(),a); ans2 = Change_to_10(b.size(),b); ans = ans1 + ans2; Change_to_N(ans); return 0; }


测评信息: