社区讨论
本人使用高精度,只得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 条回复,欢迎继续交流。
正在加载回复...