1. Napisz rekurencyjną funkcję zwracającą dla otrzymanej w

Transkrypt

1. Napisz rekurencyjną funkcję zwracającą dla otrzymanej w
1. Napisz rekurencyjną funkcję zwracającą dla otrzymanej w argumencie
nieujemnej liczby całkowitej n wartość elementu o indeksie n ciągu
zdefiniowanego w następujący sposób: a0=1 ian=2*an-1+5 dla n>0.
2. Napisz rekurencyjną funkcję zwracającą dla otrzymanej w argumencie
nieujemnej liczby całkowitej n wartość elementu o indeksie n ciągu
zdefiniowanego w następujący sposób: a0=a1=1oraz an=an-1+2*an-2+3 dla n>1
3. Napisz rekurencyjną funkcję zwracającą dla otrzymanej w argumencie
nieujemnej liczby całkowitej n wartość elementu ciągu Fibonacciego o
indeksie n.
4. Napisz rekurencyjną funkcję zwracającą dla otrzymanej w argumencie
nieujemnej liczby całkowitej n wartość elementu o indeksie n ciągu
zdefiniowanego w następujący sposób a0=0 a1=1oraz an=a0+a1+...+an1+n dla n>1.
5. Napisz funkcję rekurencyjną która dla otrzymanej w argumencie nieujemnej
liczby całkowitej n zwraca wartość elementu o indeksie n ciągu
zdefiniowanego w następujący sposób a0=a1=1oraz an=an1+n dla n parzystych i an=an-1*n dla n nieparzystych.
6. Napisz funkcję rekurencyjną, która dla otrzymanej w argumencie nieujemnej
liczby całkowitej n zwraca wartość elementu o indeksie n ciągu
zdefiniowanego w następujący sposóba0=a1=a2=1 oraz dla n>0
 a3n=a3n-1+a3n-2
 a3n+1=5*a3n+4
 a3n+2=a3n+1.
7. Napisz rekurencyjną, która dla otrzymanej w argumentach pary nieujemnych
liczb całkowitych n i m zwraca wartość f(n,m) gdzie funkcja f jest
zdefiniowana w następujący sposób:
 f(n,0)=n
 f(0,m)=m
 f(n,m)=f(n-1,m)+f(n,m-1)+f(n-1,m-1) dla n,m>0.
8. Napisz rekurencyjną funkcję, która dostaje jako argumenty dwie dodatnie
liczby całkowite n i m, i zwraca jako wartość największy wspólny dzielnik tych
liczb obliczony algorytmem Euklidesa.
9. Napisz funkcję, która wyznaczy n!. Rozwiąż jednak ten problem bez użycia
pętli.
10. Napisz program, który pobierze od użytkownika dodatnią liczbę całkowitą X, a
następnie rekurencyjnie wypisze na standardowym wyjściu wszystkie liczby od
X do 0.
11. Napisz program, który pobierze od użytkownika dwie dodatnie liczby całkowite
X i Y, a następnie rekurencyjnie wypisze na standardowym wyjściu wszystkie
liczby od X do Y.
12. Zmodyfikuj poprzedni program tak, aby działał w przypadku gdy jedna (bądź
obie) z podanych przez użytkownika liczb będzie ujemna, oraz gdy druga
liczba będzie mniejsza od pierwszej.
13. Napisz program, który pobierze od użytkownika liczbę dodatnią całkowitą X, a
następnie rekurencyjnie obliczy sumę cyfr tej liczby.
14. Napisz program, który wyznaczy n-ty element ciągu an , dla którego kolejne
elementy są generowane rekurencyjnie.
𝑎1 = 1
𝑎𝑛 = 𝑎𝑛−1 ∗ 𝑛 + 2 𝑑𝑙𝑎 𝑛 > 1
Prawidłowe wyniki:[1-10]:
1
0
2
-6
32
-190
1332
-10654
95888
-958878
15. Napisz program, który wyznaczy n-ty element ciągu bn , dla którego kolejne
elementy są generowane rekurencyjnie.
𝑏1 = 0,75
𝑏2 = −1
𝑏𝑛 = 2 ∗ 𝑏𝑛−1 ∗ 0,5 − 𝑏𝑛−2 ,
𝑛>2
Prawidłowe wyniki:[1-10]:
0.750000
-1.000000
-1.750000
-0.750000
1.000000
1.750000
0.750000
-1.000000
-1.750000
-0.750000