社区讨论

求助!50pts

P1001A+B Problem参与者 4已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@mhj37fpg
此快照首次捕获于
2025/11/03 19:59
4 个月前
此快照最后确认于
2025/11/03 19:59
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;

struct BigNum {
	int num [ 1000 + 10 ];
	int len;
} a, b;

BigNum operator + ( BigNum a, BigNum b )
{
	BigNum res;
	memset ( res.num, 0, sizeof ( res.num ) );
	int len = max ( a.len, b.len );
	for ( int i = 0; i < len; i ++ )
	{
		res.num [ i ] += a.num [ i ] + b.num [ i ];
		if ( res.num [ i ] >= 10 )
		{
			res.num [ i + 1 ] = res.num [ i ] / 10;
			res.num [ i ] %= 10;
		}
	}
	if ( res.num [ len ] != 0 )
	{
		res.len = len + 1;
	}
	else
	{
		res.len = len;
	}
	return res;
}

BigNum str_to_bignum ( string s )
{
	BigNum res;
	memset ( res.num, 0, sizeof ( res.num ) );
	res.len = s.size ( );
	for ( int i = 0; i < res.len; i ++ )
	{
		res.num [ i ] = s [ res.len - i - 1 ] - '0';
	}
	return res;
}

void write ( BigNum a )
{
	for  ( int i = a.len - 1; i >= 0; i -- )
	{
		cout << a.num [ i ];
	}
}

int main ()
{
	ios::sync_with_stdio ( false );
	cin.tie ( 0 );
	string s1, s2;
	cin >> s1 >> s2;
	a = str_to_bignum ( s1 );
	b = str_to_bignum ( s2 );
	write ( a + b );
	return 0;
}
这是代码

回复

7 条回复,欢迎继续交流。

正在加载回复...