解题方式
2024-07-29 20:11:30
发布于:安徽
17阅读
0回复
0点赞
高精度题:
这题简单,但是不知道那道题怎么回事
#include<iostream>
#include<cstring>
using namespace std;
char a[101],b[101];
int a1[101],b1[101];
int c[101];
int main(){
//1.当字符串输入
cin >> a >> b;
//2.转换并反转整数数组
int la=strlen(a),lb=strlen(b);
for(int i=0;i<la;i++){
a1[la-1-i]=a[i]-48;
}
for(int i=0;i<lb;i++){
b1[lb-1-i]=b[i]-48;
}
//3.对应位相加
int lc=max(la,lb);
int x=0;
for(int i=0;i<lc;i++){
int sum=a1[i]+b1[i]+x;
c[i]=sum%10;
x=sum/10;
}
//4.处理进位
if(x!=0){
c[lc]=x;
lc++;
}
//5.逆序输出
for(int i=lc-1;i>=0;i--){
cout << c[i];
}
return 0;
}
不用高精度只有30分!!!
全部评论 1
其实这题直接用longlong都能过
2024-07-29 来自 河南
0
有帮助,赞一个