社区讨论

求dalao帮助,高精爆零(甚至有TLE)

P1601高精度加法参与者 6已保存回复 5

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@mi7dtwmx
此快照首次捕获于
2025/11/20 20:03
4 个月前
此快照最后确认于
2025/11/20 20:03
4 个月前
查看原帖
求dalao帮助,高精爆零(甚至有TLE)
CPP
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int N=505;
char ch;
int len,a[N],b[N],len1,len2,ans[N];
void add(int a[],int b[]){
	len=max(len1,len2);
	for(int i=1;i<=len;++i)
		ans[i]=a[i]+b[i],ans[i+1]+=ans[i]/10,ans[i]%=10;
	if(ans[len+1]) len+=1;
}
int main(){
	while(ch=getchar()){if(ch=='\n') break;a[++len1]=ch-'0';}
	while(ch=getchar()){if(ch=='\n') break;b[++len2]=ch-'0';}
	for(int i=1;i<=len1/2;++i) swap(a[i],a[len1-i+1]);
	for(int i=1;i<=len2/2;++i) swap(b[i],b[len2-i+1]);
	add(a,b);
	for(int i=len;i>=1;i--) printf("%d",ans[i]);
	return 0;
}

回复

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

正在加载回复...