Od dłuższego czasu głowię się nad skryptem z książki(słabo jest tam wyjaśniony), który działa, ale nie rozumiem dlaczego działa. Wygląda on tak:
<? $a=32; $b=12; while ($a != $b) //operator różności - true jesli $a i $b są różne { if ($a<$b) { $pom=$a; $a=$b; $b=$pom; } $a=$a-$b; } ?>
Analizując drogę skryptu, to działa on tak: dopóki $a i $b są różne, to $a=$a-$b, ale w związku z instrukcją "if" - jesli $a jest mniejsze od $b to $a staje się równe $b (nie rozumiem po co tutaj zmienna pomocnicza $pom). Ale $a jest mniejsze od $b już w momencie gdy $a=8. Ponieważ działanie $a=$a-$b działa tak:
32-12=32
20-12=20
8-12=8
Zatem nie rozumiem dlaczego $a ma być kiedykolwiek równe 4... (nie widzę tego momentu)Czy ktoś mógłby mi jasno i szczegółowo wyjaśnić skąd ta 4, (która jest faktycznie NWD dla tych liczb) i gdzie zrobiłem błąd w mojej analizie tego skryptu ?
dzięki za odpowiedź