Algorytm Euklidesa: Różnice pomiędzy wersjami

Z Lem
Skocz do: nawigacji, wyszukiwania
(Utworzył nową stronę „(* Algorytm Euklidesa inaczej *) (* Dane: n>0 i m>0 liczby naturalne *) (* Wynik: nwd(n,m) *) '''while''' n ≠ m '''do''' :r:=0; :'''while''' r ≠n '''and''' r...”)
 
Linia 10: Linia 10:
 
::r:=r+1
 
::r:=r+1
 
:'''od''';
 
:'''od''';
:'''if''' r=n '''then''' nmiejsze:=true; max:=m '''else''' nmniejsze:=false; max:=n '''fi''';
+
:'''if''' r=n '''then''' n_miejsze:=true; max:=m '''else''' n_mniejsze:=false; max:=n '''fi''';
 
:q:=0;
 
:q:=0;
 
:'''while''' r≠max
 
:'''while''' r≠max
Linia 16: Linia 16:
 
::r:= r+1; q:=q+1
 
::r:= r+1; q:=q+1
 
:'''od''';
 
:'''od''';
:'''if''' nmniejsze '''then''' m:=q '''else''' n := q '''fi'''
+
:'''if''' n_mniejsze '''then''' m:=q '''else''' n := q '''fi'''
 
'''od'''
 
'''od'''
 
( ''wynik'' = n)
 
( ''wynik'' = n)

Wersja z 10:11, 15 lut 2013

(* Algorytm Euklidesa inaczej *) (* Dane: n>0 i m>0 liczby naturalne *) (* Wynik: nwd(n,m) *)

while n ≠ m do

r:=0;
while r ≠n and r ≠m
do
r:=r+1
od;
if r=n then n_miejsze:=true; max:=m else n_mniejsze:=false; max:=n fi;
q:=0;
while r≠max
do
r:= r+1; q:=q+1
od;
if n_mniejsze then m:=q else n := q fi

od ( wynik = n)