You are on page 1of 16

REKURENCJA

o w logice, programowaniu i w
matematyce odwoływanie się np.
funkcji lub definicji do samej
siebie.
PRZYKŁADY
MATEMATYCZNYCH
ZAGADNIEŃ, W KTÓRYCH
MOŻEMY WYKORZYSTAĆ
POJĘCIE REKURENCJI:
Ciąg Fibonacciego

• Ciąg Fibonacciego jest to ciąg, którego dwa pierwsze wyrazy to 1;1, a każdy następny jest sumą
dwóch poprzednich wyrazów.
• Fn={1,1,2,3,5,8,13,21,34,55,89,…,n}

• Rekurencyjny zapis ciągu Fiboancciego:


• 1 dla n≤2
• Fn-1=
• Fn-1+Fn-2 dla n>2
• Ciąg Fibonacciego znajduje także swoje zastosowanie w przyrodzie, np.:
• *pestki słonecznika układają się wzdłuż krzywych, biegnących w różnych kierunkach, np. 55
prawoskrętnych i 34 lewoskrętnych( 34 i 55 to 9. i 10. liczba Fibonacciego)
*Ciąg Fibonacciego może także pomóc w rozwiązaniu zagadki:

Zagadka o rozmnażaniu się królików:


Ile par królików może spłodzić jedna para w ciągu roku, jeśli
- każda para rodzi nową parę w ciągu miesiąca,
- para staje się płodną po miesiącu,
- króliki nie zdychają? Okazuje się, że zwiększające się liczby ilości par królików tworzą ciąg
Fibonacciego.
• Program obliczający wyrazy ciągu Fibonacciego w c++
może wyglądać tak:
Silnia
• Silnią liczby naturalnej n nazywamy iloczyn wszystkich dodatnich liczb naturalnych nie większych niż n.
• Zapis n! oznacza silnię liczby n.
n!=1*2*3*4*...*n

• Zapis rekurencyjny:
• 1 dla n=0
• n!=
• (n-1)!*n

• Np.:
• 6!=1*2*3*4*5*6=720
• 8!=1*2*3*4*5*6*7*8=40320
• Przykładowy program na obliczanie silni dowolnej liczby
naturalnej w c++:
Silnia podwójna
• Silnią podwójną liczby n nazywamy iloczyn liczb o takiej samej parzystości co liczba n, nieprzekraczających n. Oznaczamy
ją symbolem n!!
• Silnia podwójna parzystej liczby n: n!!=2*4*6*...*n
• Silnia podwójna nieparzyste liczby n: n!!=1*3*5*...*n

• Zapis rekurencyjnyny:

• 1, dla n=<1
• n!!=
• n*(n-2)!!, dla n>=2

• Np.:
• 5!!=1*3*5=15
• 8!!=2*4*6*8=384
• Przykładowy program obliczający podwójną silnię danej
liczby w c++:
Słabnia
• Słabnią liczby naturalnej n nazywamy sumę kolejnych liczb naturalnych nieprzekraczający n.
• Zapis n? oznacza słabnię liczby n.
• n?=1+2+3+...+n

• 1, dla n=
• n?=
• n+(n-1)?, dla n>=2

• Np.:
• 7?=1+2+3+4+5+6+7=28
• 10?=1+2+3+4+5+6+7+8+9+10=55
• Przykładowy program obliczający słabnię dowolnej liczby
w c++:
Podwójna słabnia
• Podwójną słabnią liczby n nazywamy sumę kolejnych liczb naturalnych nieprzekraczających n o tej samej parzystości co n.
• Dla liczb parzystych:
• n??=2+4+6+...+n
• Dla liczb nieparzystych:
• n??=1+2+3+...+n
• Zapis n?? oznacza podwójną słabnię liczby n.
• Zapis rekurencyjny:
• 1, dla n
• n??=
• n+(n-2)?, dla n>=1
• Np.:
• 7??=1+3+5+7=16
• 8??=2+4+6+8=20
• Przykładowy program obliczający podwójną słabnię w c+
+:
Symbol Newtona
• Symbol Newtona, inaczej zwany wzorem dwumiennym Newtona

• Służy między innymi do obliczania ilości kombinacji


• Np.: w klasie mamy 15 osób i chcemy zobaczyć ile jest kombinacji wyboru grup 3-osobowych w tej
klasie.

• Oznacza to, ze mamy 455 takich kombinacji


• Przykładowy program obliczający symbol Newtona w c++:
• Za pomocą symbolu Newtona możemy obliczyć swoje szanse w grze Lotto.

• Mamy 49 liczb, z których wybieramy kombinacje 6-cyfrowe.

• Czyli, aby mieć 100-procentową pewność, że wygramy musielibyśmy kupić 13983816


zakładów(każdy zakład kosztuje 3 zł, więc wyniosłoby to ok. 42 miliony zł).

You might also like