Algorytm Euklidesa – obliczanie największego wspólnego dzielnika (NWD)
Pozostałe Opublikowano: 08.12.2010

Algorytm Euklidesa – obliczanie największego wspólnego dzielnika (NWD)

Napisz funkcję, która będzie wykorzystywała algorytm Euklidesa do znajdowania największego wspólnego dzielnika (NWD) dwóch liczb naturalnych.

Algorytm Euklidesa nie wymaga rozkładania liczb na czynniki pierwsze. Wykorzystywana jest zależność: NWD dwóch liczb (a, b) jest równy a gdy b=0, lub jest równy NWD(b, a mod b) gdy b>=1.

function nwd(m,n:word):word;
var r:word;

begin
while m>0 do
begin
r:=n mod m;
n:=m;
m:=r;
end;

nwd:=n;
end;

Powyżej jest zamieszczony kod funkcji algorytmu Euklidesa, teraz zobaczmy jak ją wywołać - czyli użycie w praktyce:

begin
writeln('Podaj m');
readln(m);

writeln('Podaj n');
readln(n);

writeln(nwd(m,n));
readln;
end.

Autor: . Tagi: , .

2
Dodaj komentarz

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Bartosz StefanickiConnie Recent comment authors

This site uses Akismet to reduce spam. Learn how your comment data is processed.

najnowszy najstarszy oceniany
Connie
Gość

Nie ma sensu uczyć sięa0Pascala. Proponuję FORTRANA bardzo poodbny, ale w odrf3żnieniu do Pascala używany. Do ściągnięcia z sieci darmowy kompilator taki jak: g77 (wersja z 77 roku jedna z pierwszych), gfortran wersja darmowa na bazie FORTRANA 90, na stronie MacResearch jest wersja gfortranu z pluginem, ktf3ry umożliwia programownie pod Xcode jedyny minus to na razie nie działa pod Leo.Dla Linuxa do ściągnięcia z repozytorif3w bez problemu (gfortran i pewnie g77).Jeśli zapragnęłabyś zostać kiedyś fizykiem lub pracować z tym środowiskiem to znajomość FORTRANA na pewno się przyda.Jeśli nie to od razu proponuję uczyć się C lub C++.Moim zdaniem na Pascala… Czytaj więcej »