fbpx

Problema #2409 – ProdusXL – Rezolvari PBInfo

de Mihai-Alexandru

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

produsxl.in

20 7 8 5 3 7 6 7 1 4 6 9 9 4 3 4 6 6 9 9 9
123

produsxl.out

9660133590803046440877

Explicație

78537671469943466999 * 123 = 9660133590803046440877

#include <bits/stdc++.h>
using namespace std;
ifstream cin("produsxl.in");
ofstream cout("produsxl.out");
int main()
{
    int n ,m , a[500]={0} , t = 0;
    cin >> n;
    for(int i = n ; i >= 1 ; --i)
        cin >> a[i];
    cin >> m;
    for(int i = 1; i <= n ; i++)
    {
        long long c = 1LL * a[i] * m + t;
        a[i] = c % 10;
        t = c / 10;
    }
    while(t)
    {
        a[++n]=t%10;
        t/=10;
    }
    if(m==0) cout << 0;
    else
    for(int i = n; i >= 1; i--)
        cout << a[i];
    return 0;
}
Comentarii

S-ar putea sa iti placa