P1001 题解

· · 题解

这道题目其实很简单啊,直接写出代码:

#include <bits/stdc++.h>
using namespace std;

int main(){
    short a, b;
    cin >> a >> b;
    cout << a+b;
    return 0; 
}

但交上去后……竟然只有30分! 所以这时候我们仔细观察题目:

所以我们很容易就能联想到可以用高精去做(很容易吗?) --- 代码如下(珍爱生命,远离抄袭) ```cpp #include<bits/stdc++.h> using namespace std; char a[1005],b[1005]; int numa[1005],numb[1005]; int main(){ scanf("%s%s",a,b); int lena=strlen(a),lenb=strlen(b),x=0,i; for(i=0;i<lena;i++) numa[i]= a[lena-i-1]-'0'; for(i=0;i<lenb;i++) numb[i]= b[lenb-i-1]-'0'; lena = max(lena,lenb); for(i=0;i<=lena;i++) x=numa[i] + numb[i],numa[i]=x%10,numa[i+1]+=x/10; while(!numa[i] && i) i--; for( ; i>=0;i--) printf("%d",numa[i]); return 0; } ``` 完结撒花~