高精度可解
2025-06-14 16:30:46
发布于:广东
3阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[10010],b[10010],c[10010];
string s1,s2;
int main(){
cin >> s1;//输入数据
s2 = s1;
s1 += "0000";
int l1 = s1.size(),l2 = s2.size();
for(int i = 0;i < l1;i++)a[i] = s1[l1 - i - 1] - '0';
for(int i = 0;i < l2;i++)b[i] = s2[l2 - i - 1] - '0';
int mxl = max(l1,l2);
for(int i = 0;i < mxl;i++){
c[i] += a[i] + b[i];
c[i + 1] = c[i] / 2;
c[i] %= 2;
}
if(c[mxl] > 0)mxl++;
for(int i = mxl - 1;i >= 0;i--){
cout << c[i];
}
}
这里空空如也
有帮助,赞一个