030 STOSOWANIE ALGORYTMU EUKLIDESA ALGORYTM EUKLIDESA 1 PSTP
- Slides: 16
030 - STOSOWANIE ALGORYTMU EUKLIDESA ALGORYTM EUKLIDESA 1 PS/TP
ALGORYTM EUKLIDESA Biografia Euklides ur. 365 r. pne (Ateny) zm. 300 r. pne O Euklidesie nie wiemy prawie nic. Nie wiadomo skąd pochodził, gdzie i u kogo się uczył. 2 PS/TP
ALGORYTM EUKLIDESA Mimo to nie mamy podstaw do wątpienia o istnieniu Euklidesa, tym bardziej, że nie mieli takich wątpliwości późniejsi uczeni greccy, którzy coś niecoś opowiedzieli o jego charakterze. Pappus powiada, że był on bardzo życzliwy dla wszystkich tych, którzy cokolwiek zdziałali w zakresie matematyki, stateczny, w najwyższym stopniu uczciwy i zupełnie pozbawiony pychy. Wielką pryncypialność Euklidesa podkreślają też dwie następujące o nim anegdoty. Gdy król Ptolemeusz I zapytał Euklidesa, czy nie ma krótszej drogi do poznania geometrii niż studiowanie Elementów, Euklides odważnie na to odpowiedział, że "w geometrii nie ma drogi królewskiej". Druga historyczna anegdota opowiada o tym, że jeden z młodzieńców, poznawszy pierwsze twierdzenie Elementów, zapytał Euklidesa: "A ile mogę zarobić, jeśli nauczę się tego wszystkiego? " Na to Euklides zawołał niewolnika i powiedział: "Daj mu trzy obole, gdyż biedak chce zarobić pieniądze swoją nauką". Znacznie więcej wiemy o twórczości matematycznej Euklidesa. Przede wszystkim Euklides jest dla nas autorem Elementów, z których uczyli się matematycy całego świata. 3 PS/TP
Historia • Algorytm Euklidesa uważany jest za pierwszy znany algorytm. Jak wskazuje nazwa, został on zaprezentowany przez Euklidesa, żyjącego w w latach około 365 - 300 r. p. n. e. greckiego matematyka, w jego podstawowym dziele pt. Elementy. • Mimo że algorytm ten jest uznawany jako pierwszy, na terenach obecnych Chin i Indii znano i stosowano inne sposoby na wykonywanie pewnych obliczeń wcześniej. 4 PS/TP
Historia • Zadaniem algorytmu Euklidesa jest wyznaczenie największego wspólnego dzielnika (NWD) dwóch liczb naturalnych. • Operacja taka oprócz zastosowania na lekcjach matematyki może przydać się także na przykład wtedy, gdy chcesz podzielić na jak najmniejsze porcje, załóżmy, 36 truskawek i 15 jabłek. Przy zastosowaniu algorytmu możemy wyliczyć, iż NWD tych liczb to. . . • Zresztą, spróbuj to sam obliczyć!!!! 5 PS/TP
ALGORYTM EUKLIDESA 6 PS/TP
ALGORYTM EUKLIDESA Algorytm Euklidesa (metoda kolejnych dzieleń) to algorytm znajdowania największego wspólnego dzielnika (NWD) dwóch różnych liczb naturalnych. Nie wymaga rozkładania liczb na czynniki pierwsze. CIEKAWOSTKA: Co ciekawe algorytmu nie wymyślił Euklides, a Eudoksos z Knidos (IV wiek p. n. e. ). Euklides jedynie algorytm ten zawarł w swoim dziele Elementy. Przebieg algorytmu Euklidesa obliczania NWD liczb a i b (gdzie a>b): oblicz c jako resztę z dzielenia a przez b zastąp a przez b, zaś b przez c jeżeli b = 0, to szukane NWD = a, w przeciwnym wypadku przejdź do 1 7 PS/TP
ALGORYTM EUKLIDESA Program w Pascalu: program EUKLIDES; {Algorytm Euklidesa} uses Crt; FUNCTION NWD(a, b : LONGINT) : LONGINT; VAR c: LONGINT; BEGIN WHILE ( b <> 0 ) DO BEGIN c : = a mod b; a : = b; b : = c; END; NWD : = a; END; VAR x, y, dzielnik : LONGINT; 8 PS/TP
ALGORYTM EUKLIDESA BEGIN clrscr; writeln('Podaj dwie liczby calkowite x > y: '); write('x='); readln(x); write('y='); readln(y); if (x<=y) then writeln('pierwsza liczba musi byc wieksza od drugiej') else begin dzielnik : = NWD(x, y); writeln('NWD(', x, ', ', y, ')=', dzielnik); end; readkey; END. 9 PS/TP
ALGORYTM EUKLIDESA Algorytm rekurencyjny: 10 PS/TP
ALGORYTM EUKLIDESA Program w Pascalu – metoda rekurencyjna: program EUKLIDES_REKURENCYJNY; {Algorytm Euklidesa - REKURENCYJNY} uses Crt; FUNCTION NWD(a, b : LONGINT) : LONGINT; VAR c: LONGINT; BEGIN IF ( b = 0 ) THEN NWD : = a ELSE NWD : = NWD(b, a mod b); END; VAR x, y, dzielnik : LONGINT; 11 PS/TP
ALGORYTM EUKLIDESA BEGIN clrscr; writeln('Podaj dwie liczby calkowite x > y: '); write('x='); readln(x); write('y='); readln(y); if (x<=y) then writeln('pierwsza liczba musi byc wieksza od drugiej') else begin dzielnik : = NWD(x, y); writeln('NWD(', x, ', ', y, ')=', dzielnik); end; readkey; END. 12 PS/TP
ALGORYTM EUKLIDESA Program w C++: #include <stdio. h> int main(int argc, _TCHAR* argv[]) { int a, b; printf("Podaj a. n"); scanf("%d", &a); printf("Podaj b. n"); scanf("%d", &b); while (a != b){ if (a > b) a -= b; else b -= a; } printf("Najwiekszy wspolny dzielnik (NWD) to: %d", a); return 0; } 13 PS/TP
ALGORYTM EUKLIDESA Program w Ada: with Text_IO; use Text_IO; procedure Euklides is a, b, nwd_a, nwd_b: Integer; begin a : = 153; b : = 1326; nwd_a : = a; nwd_b : = b; while (nwd_a /= nwd_b) loop if (nwd_a > nwd_b) then nwd_a : = nwd_a - nwd_b; else nwd_b : = nwd_b - nwd_a; end if; end loop; Put_Line("Największy wspólny dzielnik (NWD) " & Integer'Image(a) & " oraz " & Integer'Image(b) & " to: " & Integer'Image(nwd_b)); end; 14 PS/TP
ALGORYTM EUKLIDESA Program w Java: public class Euklides { public static void main(String[ ] args) { int a, b; System. out. println("Podaj a. "); a = Console. read. Int("? "); System. out. println("Podaj b. "); b = Console. read. Int("? "); while (a != b) { if (a > b) a -= b; else b -= a; } System. out. println("Największy wspólny dzielnik (NWD) to: "+a); } } 15 PS/TP
ALGORYTM EUKLIDESA Źródła: http: //www. matematyka. org/ http: //www. algorytm. org/ http: //pl. wikipedia. org/wiki/Algorytm_Euklidesa http: //www. lo. stary-sacz. iap. pl/text/piotr/algorytmy/euklides. html http: //ithelpdesk. pl/najwiekszy-wspolny-dzielnik-algorytm-euklidesanwd. html 16 PS/TP
- Definicja nwd
- Algorytm euklidesa java
- Ecount login
- Rozszerzony algorytm euklidesa kalkulator
- Instrukcja warunkowa jest charakterystyczna dla algorytmu
- 030 83797320
- Nom030ssa
- Stm32f
- Nom 030 stps 2006
- Aksjomaty euklidesa
- Algorytm niestabilny
- Przeszukiwanie tabu
- Algorytm grahama
- Algorytm cart
- Horzyk agh
- Sekcja krytyczna
- Szyfrowanie symetryczne