Algorytm Euklidesa Iteracyjnie / Rekurencyjnie
Programy przedstawiają algorytm euklidesa w sporób rekurencyjny i iteracyjny.
Algorytm Euklidesa Iteracyjnie
program ALG_EUKLIDESA;
uses CRT;
var i,n,m,a:integer;
begin
writeln;
writeln('Wpisz pierwsza liczbe do algorytmu Euklidesa ');
readln(n);
writeln('Wpisz druga liczbe');
readln(m);
if n0 do begin
if (i=1) then
begin
writeln('Podane liczby nie posiadaja NWD');
break;
end
else If ((m mod i)=0) and ((n mod i)=0) Then
begin
writeln('Liczba Euklidesa NWD(',m,',', n,')=', i);
break;
end
else
i:=i-1;
end;
writeln('Nacisnij klawisz aby wyjsc');
readln;
end.
Algorytm Euklidesa Rekurencyjnie
program EuklidesRekurencyjnie;
uses crt;
var a,b:integer;
function NWD(a,b:integer):integer;
begin
if b=0 then NWD:=a else NWD:=NWD(b,a mod b);
end;
Begin
clrscr;
write('podaj 1 liczbe');
read(a);
write('podaj 2 liczbe');
read(b);
begin
writeln(NWD(a,b));
repeat until keypressed;
end;
end.
Tagi:
algorytm euklidesa nwd, NWD, algorytm euklidesa, algorytm euklidesa turbo pascal, największy wspólny dzielnik pascal, euklidesa algorytm, algorytm euklidesa w pascalu
February 12th, 2010 in
Pascal

Każde dwie liczby całkowite posiadają NWD.
Masz rację, komunikat ma tylko informować o podaniu przez użytkownika liczby 1. Poprawię program jak tylko znajdę chwilkę czasu.
Pozdrawiam.