[c++] NWW kilku liczb

0

Witam!
Robię sobie takie zadanko ze spoja: http://pl.spoj.pl/problems/NWW/
Mój kod:

#include <iostream>

using namespace std;
int tab[250];
int nwd(int a, int b);
int nww(int a, int b);

int main()
{
    int t, n;
    cin >> t;
    while(t--)
    {
        cin >> n;
        for(int i=0; i<n; i++)
            cin >> tab[i];
        int wynik = nww(tab[0], tab[1]);
        for(int i=2; i<n; i++)
            wynik = nww(wynik, tab[i]);
        cout << wynik << endl;
    }
    return 0;
}

int nww(int a, int b)
{
    return a * b / (nwd(a, b));
}

int nwd(int a, int b)
{
    return b == 0 ? a : nwd(b, a % b);
}
 

Sędzie wyrzuca błędną odpowiedź.
Co jest nie tak?

0

Można przyjąć, że zarówno liczby ai, jak i wynik mieści się w zakresie [1..264-1].

http://pl.wikipedia.org/wiki/Liczba_ca%C5%82kowita_%28typ_danych%29#Liczby_ca.C5.82kowite_w_C.2C_C.2B.2B

0

Dodatkowo zamiast wzoru:

NWW(a, b) = (a * b) / NWD(a, b)

użyj:

NWW(a, b) = (a / NWD(a, b)) * b

1 użytkowników online, w tym zalogowanych: 0, gości: 1