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

Comments (2)

michalMarch 17th, 2010 at 5:04 pm

Każde dwie liczby całkowite posiadają NWD.

adminMarch 18th, 2010 at 12:47 am

Masz rację, komunikat ma tylko informować o podaniu przez użytkownika liczby 1. Poprawię program jak tylko znajdę chwilkę czasu.
Pozdrawiam.

Leave a comment

Your comment

Anti-Spam Protection by WP-SpamFree