290
Cerința
Numim număr mare
un număr care conține prea multe cifre pentru a fi memorat în tipurile existente, și număr mic
un număr care poate fi memorat în acestea.
Exemplu
sumaxl.in
20 7 8 5 3 7 6 7 1 4 6 9 9 4 3 4 6 6 9 9 9 123
sumaxl.out
78537671469943467122
Explicație
Pe prima lini a fișierului de intrare se află un număr mare cu 20 de cifre – 78537671469943466999
, iar pe cea de a doua un număr mic – 123
. Suma lor este 78537671469943467122
.
#include <bits/stdc++.h> using namespace std; ifstream cin("sumaxl.in"); ofstream cout("sumaxl.out"); int main() { int a[10001] ,b[101] , m , n , p=1; cin >> n; for(int i = n ; i >= 1 ; i--) cin >> a[i]; cin >> m; while(m != 0) { b[p]=m%10; p++; m /= 10; } p--; if(p > n) n = p; int t = 0; for(int i = 1 ; i <= n ; i++) { int c = a[i] + b[i] + t; a[i] = c % 10; t = c / 10; } if(t > 0) a[++n]=t; for(int i = n ; i >= 1 ; i--) cout <<a[i]; return 0; }
Comentarii