Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
167883 C班詹皓杰 进制数加法 C++ 通过 100 0 MS 268 KB 972 2024-08-19 20:04:16

Tests(6/6):


#include<iostream> using namespace std; int a[10000100],b[10000100],c[10000100]; char change(int n){ if(n <= 9){ return n+'0'; }else{ return 'A'+n-10; } } int change(char c){ if('A'<=c && c<='Z'){ return c-'A'+10; }else{ return c-'0'; } } int main(){ int base,len,lena,lenb; string s1,s2; cin>>base>>s1>>s2; lena = s1.size();lenb = s2.size(); for(int i = 0; i < lena; i++){ a[lena-i-1] = change(s1[i]); } for(int i = 0; i < lenb; i++){ b[lenb-i-1] = change(s2[i]); } len = max(lena,lenb); for(int i = 0; i < len; i++){ c[i] = a[i]+b[i]; } for(int i = 0; i < len; i++){ if(c[i] >= base){ c[i+1] += c[i]/base; c[i] %= base; } } if(c[len]){ len++; } for(int i = len-1; i >= 0; i--){ cout<<change(c[i]); } return 0; }


测评信息: