Witam!
Mam tak kod:
typedef unsigned long long ULL;
ULL euklides(ULL a, ULL b)
{
ULL c, licz = 1;
while(a != b)
{
if(a > b)
a = a - b;
else
b = b - a;
licz++;
}
return licz;
/*if(a == b) **WERSJA REKURENCYJNA**
return 1;
if(a > b)
return 1 + euklides(a-b, b);
else
return 1 + euklides(a, b-a);*/
}
Potrzebuję wyznaczyć wartość zmiennej licz
, tj. liczbę kroków w algorytmie. Da się do zrobić jakoś w sensowym czasie, tj. nie odejmując naiwnie a od b i b od a? moje a
i b
są do 10^18
...
pozdrawiam
piternet