Witam! Stworzyłem program do obliczania najwyższego wspólnego dzielnika. Program według mnie działa(sprawdzałem go wiele razy), ale nie mogę go sprawdzić na SPOJu(pojawia się komunikat: Przekroczono limit czasu). Byłbym bardzo wdzięczny za pomoc.
link do zadania: http://pl.spoj.com/problems/PP0501A/
#include <iostream>
using namespace std;
int nwd(int a, int b)
{
int i=1,dzielnik=0;
if (a>=b)
{
for ( i = 1; i <= b; i++)
{
if (a%i == 0 && b%i == 0)
{
dzielnik=i;
}
}
}
else
{
for (i = 1; i <= a; i++)
{
if (a%i == 0 && b%i == 0)
{
dzielnik = i;
}
}
}
return dzielnik;
}
int main()
{
int testy,liczbaA,liczbaB;
cin >> testy;
for (int i = 0; i <testy; i++)
{
cin >> liczbaA >> liczbaB;
cout<<nwd(liczbaA, liczbaB)<<endl;
}
return 0;
}