题解
2023-09-18 19:12:48
发布于:浙江
这道题十分深奥,因为作者可能会坑我们。所以,我们要用高精度。代码如下:
#include<bits/stdc++.h>
#define N 210
using namespace std;
int as[N],bs[N],lena,lenb;
string a,b;
int main(){
cin>>a>>b;
lena=a.size();
lenb=b.size();
for(int i=0;i<lena;i++)as[i]=a[lena-i-1]-'0';
for(int i=0;i<lenb;i++)bs[i]=b[lenb-i-1]-'0';
int length=max(lena,lenb);
for(int i=0;i<length;i++)as[i]+=bs[i];
for(int i=0;i<length;i++){
if(as[i]>9){
as[i+1]++;
as[i]-=10;
if(i==length-1)length++;
}
}
while(length&&as[length]==0)length--;
for(int i=length;i>=0;i--)cout<<as[i];
cout<<endl;
}
看完代码,加入我的团队吧!
中国人民解放军
全部评论 32
看我别忘了点赞哦~
2023-09-18 来自 浙江
136
原本两三行的代码
硬生生写到了几十行
不愧是大佬
(doge2023-09-25 来自 四川
0就这?????????????
#include<iostream>
#include <algorithm>
#include <bits/stdc++.h>
#include <math.h>
#include <cmath>
#include<string>
#include<cstring>
#include<list>
#include<map>
#include<queue>
#include<iterator>
#include<stack>
using namespace std;#define ll long long
const int N = 1010;int RAND_1(ll a,ll b){
ll n = a + b;
return n;
}int RAND_2(string a, string b, int n[500], int m[500], int ans[501]){
for(int i = 0; i < a.size(); i++)
n[i] = a[a.size() - i - 1] - '0';
for(int i = 0; i < b.size(); i++)
m[i] = b[b.size() - i - 1] - '0';
int len_maxn = max(a.size(), b.size()) + 1;
for(int i = 0; i < len_maxn; i++)
{
ans[i] = n[i] + m[i] + ans[i];
if(ans[i] > 9)
{
ans[i + 1]++;
ans[i] = ans[i] % 10;
}
}
while(ans[len_maxn - 1] == 0 && len_maxn > 0) len_maxn--;
for(int i = len_maxn - 1; i >= 0; i--) cout << ans[i];
return 0;
}int RAND_3(ll a, ll b){
ll ans = 0;
for(int i = 0; i < a; i ++ ) {
ans ++;
}
for(int i = 0; i < b; i ++ ) {
ans ++;
}
return ans;
}int n[1010], m[1010],c[1010];
int main(){
srand(time(0));
ll a , b;
string z , y;
int x;
x = 1 + rand() % 3;
if(x == 1){
cin >> a >> b;
int ans = RAND_1(a,b);
cout << ans;
}
if(x == 2){
cin >> z >> y;
RAND_2(z , y , n , m, c);
}
if(x == 3){
cin >> a >> b;
int ans = RAND_3(a, b);
cout << ans;
}
return 0;
}2024-11-03 来自 广东
2(狗式点头)
2025-01-26 来自 浙江
0
还用高精度……
2023-09-18 来自 浙江
26,小号吸引流量
2025-06-29 来自 浙江
0
这个有意思,6
2023-09-18 来自 浙江
2大佬



2026-02-15 来自 江苏
1n
昨天 来自 浙江
0ok
3天前 来自 浙江
0ok
3天前 来自 浙江
0ok
5天前 来自 浙江
0@ppl_cjdst(92134) 你会坑他吗
2026-02-28 来自 上海
0想的可能也太多了
2026-02-26 来自 福建
06666666666666
#include <bits/stdc++.h>
int main(){
long long a,b; stdcin>>a>>b; stdcout<<a+b;
}2026-02-23 来自 浙江
0ok
2026-02-12 来自 浙江
0#include<bits/stdc++.h> using namespace std; int main(){ string a,b,c=""; cin>>a>>b; reverse(a.begin(),a.end()); reverse(b.begin(),b.end()); int h=0,l=max(a.size(),b.size()),s1=a.size(),s2=b.size(); for(unsigned int i=0;i<l||h;i++){ int s=h; if(i<s1)s+=a[i]-'0'; if(i<s2)s+=b[i]-'0'; h=s/10; c+=((s%10)+'0'); } reverse(c.begin(),c.end()); int k=0,ll=c.size(); while(k<l-1&&c[k]=='0')k++; c.erase(0,k); cout<<c; return 0; }2025-12-29 来自 广东
0不兑,这题不是ACGO官方的吗?《官 方 还 会 骗 人》,在给我《玩 呢》?
#include <iostream> using namespace std; int main(){ int a,b; cin>>a; cin>>b; cout<<a+b<<endl; return 0; } ```别听他们瞎说,简简单单才是《真》......2025-11-17 来自 上海
0哈
#include <bits/stdc++.h>
int main(){
long long a,b; stdcin>>a>>b; stdcout<<a+b;
}2026-02-23 来自 浙江
0
#include <bits/stdc++.h> using namespace std; int main(){ //1、存储输入 string s1, s2; int a[205] = {0}, b[205] = {0}, c[205] = {0}; //a:加数 b:被加数 c:和 cin >> s1 >> s2; int len1 = s1.size(), len2 = s2.size(); //2、字符转为数字,倒序存储至整型数组中 for (int i = 0; i <=len1-1; i++) a[len1-1-i] = s1[i] - '0'; for (int i = 0; i <= len2-1; i++) b[len2-1-i] = s2[i] - '0'; //3、从个位(下标0的位置)开始做加法运算 int len3=max(len1,len2),jin=0; for(int i=0;i<=len3-1;i++){ c[i]=a[i]+b[i]+jin; jin=c[i]/10; c[i]%=10; } if(jin>0) c[len3++]=jin; //4、从高位向低位输出 for (int i = len3-1; i >= 0; i--) cout << c[i]; return 0; }2025-09-20 来自 北京
0作者坑不了一点
2025-09-14 来自 浙江
0what?
2025-09-14 来自 浙江
0你好,保姆
2025-09-06 来自 北京
0有这么麻烦吗???
2025-08-05 来自 广东
0写的不太好,人家两行就写完了
2025-07-12 来自 江西
0















































有帮助,赞一个