社区讨论

为什么高精不给过

P1001A+B Problem参与者 6已保存回复 8

讨论操作

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

当前回复
8 条
当前快照
1 份
快照标识符
@locc25mb
此快照首次捕获于
2023/10/30 11:21
2 年前
此快照最后确认于
2023/11/04 23:04
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
char a1[10001],b1[10001];
int a2[10001],b2[10001];
int c[10001];
int l1,l2;
int t;
int main()
{
	cin>>a1;
	cin>>b1;
	l1=strlen(a1);
	l2=strlen(b1);
	for(int i=1;i<=l1;i++)
	{
		a2[i]=a1[i-1]-'0';
	}
	for(int i=1;i<=l2;i++)
	{
		b2[i]=b1[i-1]-'0';
	}
	for(int i=1;i<=l1/2;i++)
	{
		swap(a2[i],a2[l1-i+1]);
	}
	for(int i=1;i<=l2/2;i++)
	{
		swap(b2[i],b2[l2-i+1]);
	}
	if(l1>l2)
	{
		t=l1;
	}
	else
	{
		t=l2;
	}
	for(int i=1;i<=t;i++)
	{
		c[i]+=a2[i]+b2[i];
		c[i+1]+=c[i];
		c[i]=c[i]%10;
		c[i+1]/=10;
	}
	if(c[t+1]!=0)
	{
		t++;
	}
	else
	{
		while(c[t]==0&&t!=1)
		{
			t--;
		}
	}
	for(int i=t;i>=1;i--)
	{
		cout<<c[i];
	}
	return 0;
}

回复

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

正在加载回复...