高精度求A+B

    xiaoxiao2021-03-25  119

    Q:求两个整数A+B的和(其中A和B的值可能会很大)

    A:

    #include<cstdio> #include<cmath> #include<cstdlib> #include<cctype> #include<cstring> #include<string> #include<sstream> #include<algorithm> #include<stack> #include<queue> #include<vector> #include<set> #include<map> #include<iostream> using namespace std; const int maxn = 105; string s1,s2; int a[maxn],b[maxn],c[maxn]; void init() { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); for( int i = 0; i < s1.length(); i++) a[s1.length()-i] = s1[i]-'0'; for( int i = 0; i < s2.length(); i++) b[s2.length()-i] = s2[i]-'0'; } int main() { while( cin >> s1 >> s2) { init(); int len = max(s1.length(),s2.length()); int add = 0; for( int i = 1; i <= len; i++) { c[i] = a[i]+b[i]+add; add = c[i]/10; c[i] %= 10; } while( add) { len++; c[len] = add; add /= 10; } for( int i = 1; i <= len; i++) cout<<c[i]; putchar(10); } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-22079.html

    最新回复(0)