Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
159715 | 梁乃元 | 进制数加法 | C++ | 通过 | 100 | 0 MS | 256 KB | 925 | 2024-07-30 18:18:36 |
# include <bits/stdc++.h> using namespace std ; int c2i ( char c ) { if ( c >= '0' && c <= '9' ) { return c - '0' ; } else { return c - 'A' + 10 ; } } char i2c ( int i ) { if ( i < 10 ) { return char ( '0' + i ) ; } else { return char ( 'A' + i - 10 ) ; } } long long m2t ( string s , int m ) { if ( s [0] == 0 ) { return 0 ; } long long ans = 0 ; for ( int i = 0 ; i < s . size ( ) ; i ++ ) { ans *= m ; ans += c2i ( s [i] ) ; } return ans ; } string t2n ( long long x , int n ) { if ( x == 0 ) { return "0" ; } string s = "" ; while ( x != 0 ) { int a = x % n ; x = ( x - ( x % n ) ) / n ; s = i2c ( a ) + s ; } return s ; } int main ( ) { int n , a1 , b1 , sum ; string a , b ; cin >> n >> a >> b ; a1 = m2t ( a , n ) , b1 = m2t ( b , n ) ; sum = a1 + b1 ; cout << t2n ( sum , n ) << endl ; return 0 ; }