prosze o pomoc w znalezieniu bledu (bo spoj daje blad odp.) przy czym nie znalazlem testu dla ktorego zwraca zla odp.
Oto link do zadania: http://pl.spoj.com/problems/NWW/
A oto kod:
#include <iostream>
using namespace std;
unsigned long long t,n,x,y,s;
unsigned long long NWD(unsigned long long a, unsigned long long b)
{
int c; // Tworzymy zmienną c o typie int
while(b != 0) // Tworzymy pętlę działającą gdy b ≠ 0
{
c = a % b; // Zmienna c przyjmuje wartość a modulo b
a = b; // Przypisujemy b do a
b = c; // Przypisujemy c do b
}
return a; // Zwracamy a, czyli żądane NWD(a,b)
}
unsigned long long NWW(unsigned long long a,unsigned long long b)
{
return (a/NWD(a,b))*b;
}
int main()
{
cin>>t;
for(unsigned long long i =0;i<t;i++)
{
cin>>n;
cin>>x;
s=NWW(x,x);
for(unsigned long long j =1;j<n;j++)
{
cin>>y;
s=NWW(s,y);
}
cout<<s<<endl;
}
return 0;
}
Pozdrawiam