Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
168020 B班余绮淇 进制数加法 C++ 通过 100 0 MS 264 KB 836 2024-08-19 21:51:28

Tests(6/6):


#include <iostream> #include <cstring> #include <cmath> using namespace std; long long to10(int n,char x[]) { int len=strlen(x); long long s=0; long long y=1; 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*y; y*=n; } 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); if(s==0) { cout<<0; return 0; } 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; }


测评信息: