本人使用高精度,只得40分
  • 板块P1001 A+B Problem
  • 楼主keda2761
  • 当前回复18
  • 已保存回复18
  • 发布时间2023/3/26 11:54
  • 上次更新2023/10/23 20:26:23
查看原帖
本人使用高精度,只得40分
786560
keda2761楼主2023/3/26 11:54
#include<bits/stdc++.h>
using namespace std;
char a[10001],b[10001];
int ina[10001],inb[10001],inc[10002],l;
int main(){
	cin>>a>>b;
	l=strlen(a)-1;//a的末尾下标 
	for(int i=0;i<strlen(a);i++){
	    ina[l]=a[i]-'0';
		l--;//反转数字(其实是字符串)
	}
	l=strlen(b)-1;	
	for(int i=0;i<strlen(b);i++){
		inb[l]=b[i]-'0';
		l--;//反转数字(其实是字符串) 
	}
	int len=max(strlen(a),strlen(b));
	for(int i=0;i<len;i++){
		inc[i]=inc[i]+ina[i]+inb[i];//加上 
		if(inc[i]>9){//进位 
			inc[i+1]=inc[i+1]+inc[i]/10;//下一位加10 
			inc[i]=inc[i]%10;//舍去十位数 
		}
	}
	int k;
	for(int i=999;i>=0;i--){
		if(inc[i]!=0){
			k=i;
			break;
		}//寻找最大的位数 
	}
	for(int i=k;i>=0;i--){
		cout<<inc[i];
	}//输出次数 
	return 0;
}//不谢!!! 
2023/3/26 11:54
加载中...