社区讨论

本人使用高精度,只得40分

P1001A+B Problem参与者 16已保存回复 18

讨论操作

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

当前回复
18 条
当前快照
1 份
快照标识符
@lo2vgbjz
此快照首次捕获于
2023/10/23 20:26
2 年前
此快照最后确认于
2023/10/23 20:26
2 年前
查看原帖
CPP
#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;
}//不谢!!! 

回复

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

正在加载回复...