string add ( string a, string b )
{
int ans[1000] = { 0 };
string str;
reverse ( all(a) );
reverse ( all(b) );
int len = max ( a.size(), b.size() );
if ( len == a.size() ){
b.resize( len, '0' );
}
else{
a.resize( len, '0' );
}
int tmp = 0;
for ( int i = 0; i < len; i ++ ){
ans[i] = a[i]- '0' + b[i] - '0' + tmp;
tmp = ans[i] / 10;
ans[i] %= 10;
}
if ( tmp != 0 ){
ans[len] = tmp;
len += 1;
}
str.resize( len, '0' );
int cnt = 0;
for ( int i = len - 1; i >= 0; i -- ){
str[cnt++] = ans[i] + '0';
}
return str;
}
string muti ( string a, int b )
{
int ans[1000] = { 0 };
reverse ( all(a) );
int len = a.size();
int tmp = 0;
for ( int i = 0; i < len; i ++ ){
ans[i] = a[i] - '0';
ans[i] = ans[i] * b + tmp;
tmp = ans[i] / 10;
ans[i] %= 10;
}
string str;
if ( tmp != 0 ){
ans[len] = tmp;
len += 1;
}
str.resize( len, '0' );
int cnt = 0;
for ( int i = len - 1; i >= 0; i -- ){
str[cnt++] += ans[i];// + '0';
}
return str;
}
大数模板(未完成)
最新推荐文章于 2025-06-25 16:09:41 发布