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

Data aktualizacji: 22.04.2024r. Autor: Bartosz Stefanicki.

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.

Kategorie: Pozostałe. Tagi: #pascal, #skrypty. Źródło obrazków: Pixabay, Font awesome.

3 komentarzy

Connie
21.12.2015, 12:05
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 szkoda czasu.
Bartosz Stefanicki
21.12.2015, 13:19
Autor
Tez tak myśle. Pascal to bardziej w ramach ciekawostki.
Abrams
10.03.2021, 10:51
Pascal nadal żywy. Proponuję zajrzeć na www.freepascal.org .