Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
167999 | B班余绮淇 | 进制数加法 | C++ | 解答错误 | 83 | 1 MS | 280 KB | 781 | 2024-08-19 21:45:48 |
#include <iostream> #include <cstring> #include <cmath> using namespace std; long long to10(int n,char x[]) { int len=strlen(x); long long s=0; for(int i=len-1;i>=0;i--) { int t; if(x[i]>='A'&&x[i]<='Z') { t=x[i]-'A'+10; } else if(x[i]>='a'&&x[i]<='z') { t=x[i]-'a'+10; } else { t=x[i]-'0'; } s+=t*pow(n,(len-1-i)); } return s; } int main() { int n; long long s; char a[10000],b[10000]; int c[10001]; int len=0; scanf("%d %s %s",&n,a,b); if(n>=37||n<2) { return 0; } s=to10(n,a)+to10(n,b); while(s>0) { c[len]=s%n; len++; s/=n; } for(int i=len-1;i>=0;i--) { if(c[i]>=10) { char d='A'+c[i]-10; cout<<d; } else { cout<<c[i]; } } return 0; }