社区讨论

为什么?

P2142高精度减法参与者 3已保存回复 5

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@lo8njran
此快照首次捕获于
2023/10/27 21:31
2 年前
此快照最后确认于
2023/10/27 21:31
2 年前
查看原帖
错了几个...
CPP
#include <bits/stdc++.h>
using namespace std;
int main()
{
	char a[100002]={},b[100002]={};
	int aa[100002]={},bb[100002]={},c[100002]={};
	cin>>a>>b;
	int temp=0;
	for(int i=strlen(a)-1;i>=0;i--)
	{
		aa[temp++]=a[i]-'0';
	}
	temp=0;
	for(int i=strlen(b)-1;i>=0;i--)
	{
		bb[temp++]=b[i]-'0';
	}
	int max=(strlen(a)>strlen(b))?(strlen(a)):(strlen(b));
	cout<<max<<endl;
	for(int i=0;i<max;i++)
	{
		c[i]=aa[i]-bb[i]+c[i];
		if(c[i]<0)
		{
			c[i]+=10;
			c[i+1]--;
		}
		cout<<c[i];
	}
	if(c[max]==0)
	{
		max--;
	}
	for(int i=max;i>=0;i--)
	{
		cout<<c[i];
	}
	return 0;
}

回复

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

正在加载回复...