为什么高精度只有50分
  • 板块P1001 A+B Problem
  • 楼主SPACE_AI
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/12/10 19:52
  • 上次更新2024/12/10 22:26:49
查看原帖
为什么高精度只有50分
1374332
SPACE_AI楼主2024/12/10 19:52

为啥高精度会错?

代码如下

#include<bits/stdc++.h>
using namespace std;
char arr[100000],brr[100000];
int crr[100000];
int main(){
	cin>>arr>>brr;
	int a=strlen(arr);
	int b=strlen(brr);
	int c=max(a,b);
	for(int i=0;i<a/2;i++){
		swap(arr[i],arr[a-i-1]);
	}
	for(int i=0;i<b/2;i++){
		swap(brr[i],brr[b-i-1]);
	}
	int p=0;
	for(int i=0;i<c;i++){
		int j=0;
		if(arr[i]==0)arr[i]='0';
		if(brr[i]==0)brr[i]='0';
		crr[i]=arr[i]-'0'+brr[i]-'0'+p;
		p=crr[i]/10;
		crr[i]%=10; 
	}
	if(p>0){
		crr[c++]=p;
	}
	for(int i=c-1;i>=0;i--){
		cout<<crr[i];
	}
	return 0;
}
2024/12/10 19:52
加载中...