Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
167610 WSLYDG 进制数加法 C++ 通过 100 1 MS 256 KB 563 2024-08-19 17:02:18

Tests(6/6):


#include<bits/stdc++.h> 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() { scanf("%d %s %s",&n,a,b); t=std::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; printf("%d",c[i]); } return 0; }


测评信息: