gordon321 @ 2023-08-12 16:25:52
#include<bits/stdc++.h>
using namespace std;
int main(){
string a;
string b;
cin>>a;
cin>>b;
int c[1000]={0};
int jy=0;
int sw=0;
int x=a.length()-1;
int y=b.length()-1;
for(int i=0;i<max(a.length(),b.length())+1;i++){
if(i==max(a.length(),b.length())){
if(jy==0){
continue;
}else{
c[i]=jy;
continue;
}
}
if(a.length()>b.length()&&i>=b.length()){
c[i]=(a[x]-48+jy)%10;
if(a[x]-48+jy>=10){
jy=(a[x]-48+jy)/10;
}else{
jy=0;
}
}else if(a.length()<b.length()&&i>=a.length()){
c[i]=(b[y]-48+jy)%10;
if(b[y]-48+jy>=10){
jy=(b[y]-48+jy)/10;
}else{
jy=0;
}
}else{
c[i]=(a[x]-48+b[x]-48+jy)%10;
if(a[x]-48+b[x]-48+jy>=10){
jy=(a[x]-48+b[y]-48+jy)/10;
}else{
jy=0;
}
}
x--;
y--;
sw++;
}
for(int i=sw;i>=0;i--){
if(i==sw&&c[i]==0){
}else{
cout<<c[i];
}
}
return 0;
}
by caramel_qwq @ 2023-08-12 16:29:21
@gordon321 这题要高精?
by 大眼仔Happy @ 2023-08-12 16:29:33
@gordon321
Hack:
9901
99
by I_AM_AC_KING @ 2023-08-12 16:29:57
@gordon321 有负数?
by Edison0324 @ 2023-08-12 16:30:39
a+b:那我走?
by HKW0202 @ 2023-08-12 16:31:24
离大谱
by 大眼仔Happy @ 2023-08-12 16:32:15
@gordon321
可以看看我这个过了/doge:https://www.luogu.com.cn/paste/yul8sf49
by sapo1o @ 2023-08-12 16:35:52
@gordon321 参考这个
主要思路就是 把两个字符串倒过来相加,去除前导零,在倒序输出即可。
#include <bits/stdc++.h>
using namespace std;
string s1,s2;
const int N=10010;
int a[N],b[N],c[N];
void add(int a[],int b[],int c[]) {
int carry=0;
for(int i=0;i<N;i++) {
c[i]=a[i]+b[i]+carry;
carry=c[i]/10;
c[i]%=10;
}
}
int main() {
cin>>s1>>s2;
int len1=s1.size();
int len2=s2.size();
for(int i=0;i<len1;i++) {
a[i]=s1[len1-1-i]-'0';
}
for(int i=0;i<len2;i++) {
b[i]=s2[len2-1-i]-'0';
}
add(a,b,c);
int k=N-1;
while(k>0&&c[k]==0) {
k--;
}
for(int i=k;i>=0;i--) {
cout<<c[i];
}
cout<<endl;
return 0;
}
by 大眼仔Happy @ 2023-08-12 16:36:27
@red_hair_steve 看看我的/嘿嘿
by gongziwen @ 2023-08-12 16:39:56
@red_hair_steve srds,我不懂为什么一堆调代码(一般是水题)下面全是发自己代码的,这对lz有什么帮助?
by ABCgfed @ 2023-08-12 16:49:50
@caramel_qwq 你不是在写猪国杀吗?