260
Cerința
Numim număr mare
un număr care conține prea multe cifre pentru a fi memorat în tipurile existente.
Exemplu
produsxxl.in
20 7 8 5 3 7 6 7 1 4 6 9 9 4 3 4 6 6 9 9 9 25 7 6 3 9 6 3 1 3 6 5 9 5 8 9 1 6 7 9 5 4 5 3 6 5 3
produsxxl.out
599998858371156857510752802116223611839497347
Explicație
78537671469943466999 + 7639631365958916795453653 = 599998858371156857510752802116223611839497347
#include <bits/stdc++.h> using namespace std; ifstream cin("produsxxl.in"); ofstream cout("produsxxl.out"); int n , m , cnt , a[105] , b[105] , prod[205]; void citire(int a[] , int n) { for(int i = n ; i >= 1 ; i--) cin >> a[i]; } void afisare(int a[] , int n) { for(int i = n ; i >= 1 ; i--) cout << a[i]; } void inmultire_2nr_mari(int a[] , int b[]) { for(int i = 1 ; i <= n ; i++) for(int j = 1 ; j <= m ; j++) prod[i + j - 1] += a[i] * b[j]; cnt = n + m - 1; int r = 0; for(int i = 1 ; i <= cnt ; i++) { r += prod[i]; prod[i] = r % 10; r /= 10; } while(r) { prod[++cnt] = r; r /= 10; } } int main() { cin >> n; citire(a , n); cin >> m; citire(b , m); inmultire_2nr_mari(a , b); afisare(prod , cnt); return 0; }
Comentarii