Professional Documents
Culture Documents
Vježba 10 Rekurzije
Vježba 10 Rekurzije
• Definicija:
• n! = n * (n-1)!
• 0! = 1
Primarni brojevi
• Prosti brojevi ili prim-brojevi su svi prirodni brojevi djeljivi bez
ostatka samo s brojem 1 i sami sa sobom, a veći od broja 1
• Funkcija rekurzivno provjerava i vraća da li je prvi ulazni
parametar primarni broj (drugi parametar se ispušta kod prvog
poziva, nije obavezan – vidi zaglavlje)
Primarni brojevi
Najveća zajednička mjera
(Euklidov algoritam)
• Euklidov algoritam služi nam kako bismo našli najveću zajedničku
mjeru više brojeva.
• Najveća zajednička mjera ili najveći zajednički djelitelj brojeva n1,
n2…nk jest broj m koji ima svojstva:
• m je djelitelj svakog od brojeva n1, n2 ...nk
• m je najveći broj s tim svojstvom.
• Postupak:
• Određujemo m od a i b. Dijelimo a % b, dok ostatak nije 0. Ako je ostatak
nula m je b.
• m(a, b) = m(b, a%b)
Fibonaccijevi brojevi
• Jednostavna funkcija
• Niska učinkovitost
• Ispisati prvih 20, 30, 40 Fibonaccijevih brojeva. Zaključak?
Pascalov trokut Sierpinskijev trokut
Fibonaccijevi brojevi
Pascalov trokut
Testiranje
Testiranje – rezultati
Zadaci
• Kreirati rekurzivne funkcije:
1. Potenciranje brojeva
f(x,y) = x y = x * x (y-1)
Primjer:
Ulog (Glavnica) = 10.000 Kn
Godina = 8
Godišnja kamatna stopa = 7%
Povrat = 17.181,86 Kn
Ostale karakteristične
rekurzivne funkcije za vježbu
• Permutacije riječi
• Binarno pretraživanje niza
• Tornjevi Hanoia
• Postavljanje N kraljica na
šahovsko polje tako da se ne napadaju
• Quick sort i Merge sort
• Obilasci binarnih stabala