Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
167079 | C班-陈乐 | 进制数加法 | C++ | 通过 | 100 | 1 MS | 248 KB | 634 | 2024-08-19 16:00:57 |
#include <iostream> #include <cstring> using namespace std; int n,a2[301],b2[301],t,c[301],i; char a[301],b[301]; int change(char c) { if(c>='0'&&c<='9') return c-48; else if(c=='A')return 10; else if(c=='B')return 11; } int main() { cin >> n >> a >> b; t = max(strlen(a),strlen(b)); for(i=0;i<strlen(a);i++) a2[strlen(a)-i]=change(a[i]); for(i=0;i<strlen(b);i++) b2[strlen(b)-i]=change(b[i]); for(i=1;i<=t;i++) { c[i]+=(a2[i]+b2[i]); c[i+1]+=c[i]/n; c[i]%=n; } bool ch; for(i=(t+1);i>0;i--) { if(i==(t+1)&&c[i]==0) continue; cout << c[i]; } return 0; }