20,求助
查看原帖
20,求助
953405
kevin_guoguo楼主2023/12/26 18:03
#include <bits/stdc++.h>
using namespace std;
string a1,b1;
long long a[10005]={},b[10005]={},c[10005]={};
int main()
{
	long long lena,lenb,lenc,x,B;
	cin>>B;
	cin>>a1;
	cin>>b1;
	lena=a1.size();
	lenb=b1.size();
	for(long long i=1;i<=lena;i++)
	{
		if(a[lena-i]<=10&&a[lena-i]>=0)
		{
			a[i]=a1[lena-i]-'0';
		}
		else 
		{
			a[i]=a1[lena-i]-'A'+10;
		}
	}
	for(long long i=1;i<=lenb;i++)
	{
		if(b[lenb-i]<=10&&b[lenb-i]>=0)
		{
			b[i]=b1[lenb-i]-'0';
		}
		else 
		{
			b[i]=b1[lenb-i]-'A'+10;
		}
	}
	lenc=1;
	while(lenc<=lena&&lenc<=lenb)
	{
		c[lenc]+=a[lenc]+b[lenc];
		if(c[lenc]>=B)
		{
			c[lenc]=c[lenc]%B;
			c[lenc+1]+=1;
		}
		lenc++;
	}
	if(c[lenc]==0)
	{
		lenc--;
	}
	for(int i=lenc;i>=1;i--)
	{
		if (c[i]<10) cout<<c[i];
        else cout<<(char)(c[i]+'A'-10);
	}
	return 0;
}

这是代码:

这是数据:

输入:
2
1010001010111101010100000000001101111110
1010000000111010100111101101001011
输出:
10100111110001110100111111011001001
2023/12/26 18:03
加载中...