Algorytm Euklidesa Algorytm ten, jak wskazuje jego nazwa, został zaprezentowany przez greckiego matematyka - Euklidesa, żyjącego w w latach około 300r. p.n.e., w jego podstawowym dziele pt. Elementy. Algorytm Euklidesa uważany jest za pierwszy znany i zapisany algorytm. Służy do obliczenia największego wspólnego dzielnika dwóch liczb (NWD). Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty. Co ciekawe, algorytmu nie wymyślił Euklides, a Eudoksos z Knidos, Euklides zaś jedynie algorytm ten zawarł w swoim dziele Elementy.
Algorytm Euklidesa schemat blokowy
Badanie podzielności liczb Jeśli reszta z dzielenia dwóch liczb jest równa zero, mówimy, że pierwsza liczba (dzielna) jest podzielna przez drugą (dzielnik) dla a=21 i b=4 reszta z dzielenia a przez b wynosi 1 reszta= a mod b reszta= 21 mod 4 = 1
System dziesiętny Podstawą tego systemu jest liczba 10 (do obliczenia wartości używamy potęgi liczby 10) Do zapisu wszystkich liczb używamy dziesięciu cyfr Ta sama cyfra w systemie dziesiętnym ma różne znaczenie, w zależności od miejsca w którym stoi w zapisie liczby Cyfra najbardziej znacząca 285 Cyfra najmniej znacząca 285 = 2*100 + 8*10 + 5*1 = 2*10 2 + 8*10 1 + 5*10 0
285 = 2*100 + 8*10 + 5*1 = 2*10 2 + 8*10 1 + 5*10 0 285/10 = 28 reszta 5 28 / 10 = 2 reszta 8 2
Wyodrębnianie cyfr z liczby naturalnej Aby wyodrębnić cyfry danej liczby (od najmniej znaczącej) powtarzamy: obliczamy resztę z dzielenia liczby przez 10 (pierwsza reszta jest cyfrą jedności) od liczby odejmujemy resztę z dzielenia liczbę (wynik odejmowania) dzielimy przez 10 aż do osiągnięcia liczby (wyniku odejmowania) równej zero.
Algorytm Euklidesa (NWD) wersja z dzieleniem Algorytm Euklidesa (NWD) w wersji z dzieleniem polega na dzieleniu liczby a (dzielnej) przez liczbę b (dzielnik), aż reszta z dzielenia osiągnie wartość zero. a=25 i b=10 1 wyznaczamy resztę z dzielenia liczby a przez b (25/10) 2 liczbę a zastępujemy liczbą b (a=10) 3 liczbę b zastępujemy resztą z dzielenia (b=5) 4 wyznaczamy resztę z dzielenia liczby a przez b (10/5) 5 liczbę a zastępujemy liczbą b (a=5) 6 liczbę b zastępujemy resztą z dzielenia (b=0) Ponieważ b=0 NWD liczb 25 i 10 wynosi 5
Algorytm Euklidesa (NWD) wersja z dzieleniem a=25 i b=10 1 wyznaczamy resztę z dzielenia liczby a przez b: 25/10= 2 reszta 5 2 liczbę a zastępujemy liczbą b (a=10) 3 liczbę b zastępujemy resztą z dzielenia (b=5)
Lista - tworzenie
Lista dodawanie elementów Pamiętajmy, aby przed każdym wypełnieniem listy usunąć poprzednio zawarte tam dane
Lista odczytywanie elementów listy
Największa liczba z n liczb Aby wyszukać największą spośród n liczb, porównujemy kolejne wartości liczb ze zbioru z największą znalezioną do tej pory liczbą (zapamiętaną osobno). Na początku algorytmu przyjmujemy, że pierwsza liczba ze zbioru jest największa. Porównania liczb powtarzamy, aż sprawdzimy wszystkie liczby zbioru.
Największa liczba z n liczb - lista Ustawiamy licznik (zmienna i) na pierwszą liczbę z listy, Ustawiamy wartość zmiennej max na 0 Czyścimy listę Podajemy ilość liczb losujemy liczby i wypełniamy nimi listę. Sprawdzamy czy pierwszy element z listy jest większy od max. Należy na początku ustawić max=0!!! Należy na początku stawić i=1!!!! Jeśli to prawda, to ustawiamy tą liczbę jako max i zwiększamy licznik o 1 (przechodzimy do kolejnej pozycji na liście) Jeśli to nie prawda, to zwiększamy licznik o 1 (przechodzimy do kolejnej pozycji na liście)