Rekurencja C++
Saris: Ogarnia ktoś rekurencję w C++, żeby pomóc zrobić zadanko albo kilka?
7 lut 20:52
7 lut 20:56
Saris: Tyle złości, bo nie potrafi się zrozumieć co to jest równanie

.
7 lut 20:58
Wlodek: Więc Twoje zachowanie również było złośliwe.
7 lut 21:02
Hajtowy: A co Ci trzeba konkretniej? Treść zadania daj
7 lut 21:19
Dziadek Mróz:
Aby zrozumieć rekurencję należy zrozumieć rekurencję.
7 lut 21:19
Dziadek Mróz:
Silnia jest rekurencyjna bo:
n! = (n − 1)!n = (n − 2)!(n − 1)n = ...
7 lut 21:21
Dziadek Mróz:
Potęga jest rekurencyjna bo:
2n = 2 * 2n − 1 = 2 * 2 * 2n − 2 = ...
7 lut 21:22
Marcin: Rekurencja, to odwoływanie się funkcji do samej siebie

Rekurencyjnie zapiszesz np każdy wielomian:
x
4+3x
3+11x
2+3x+7 ⇒ x(x
3+3x
2+11x+3)+7 ⇒ x(x(x
2+3x+11)+3)+7 ⇒
x(x(x(x(x+3)+11)+3)+7) i później zabierasz się za niego od 'środka' i masz zdecydowanie mniej
obliczeń
7 lut 21:34
Marcin: (x(x(x(x+3)+11)+3)+7)* Poprawka
7 lut 21:34
Dziadek Mróz:
def silnia(n):
if n < 2:
return 1
else:
return n*silnia(n − 1)
silnia(5):
return 5 * silnia(4)
silnia(4):
return 4 * silnia(3)
silnia(3):
return 3 * silnia(2)
silnia(2):
return 2 * silnia(1)
silnia(1):
return 1
return 2 * 1 = 2
return 3 * 2 = 6
return 4 * 6 = 24
return 24 * 5 = 120
7 lut 21:39
Saris: Hehe

Nie, nie. Zam proces rekurencji rozumiem. Jednakowoż zadań nie mam trywialnych.
/*Zad. 2
Do budowy liczby naturalnej reprezentowanej w systemie dwójkowym możemy użyć A cyfr
1 oraz B cyfr 0, gdzie A,B>0. Proszę napisać
funkcję, która dla zadanych parametrów A i B zwraca
ilość wszystkich możliwych do zbudowania liczb, takich że pierwsza cyfra w systemie dwójkowym
(najstarszy bit) jest równa 1, a zbudowana liczba jest złożona.*/
Mam funkcję do sprawdzania najstarszego bitu i czy jest zlozona (to akurat jest trywialne) +
czesc głownej rekurencyjnej ale w sumie nie wiem jak budować te liczby.
7 lut 22:07
Saris: Sam proces*
7 lut 22:07
Dziadek Mróz:
Proste doświadczenia
A=2, B=2
1001
1010
1100
A=3, B=2
10011
10101
11001
10110
11010
11000
7 lut 22:28
Dziadek Mróz:
Na końcu jest 11100
7 lut 22:28
Dziadek Mróz:
Tak długo przesuwasz 2 najmłodszy bit aż nie dotrzesz do 2 najstarszego bitu, o ile nie
wyczerpałeś wszystkich A jedynek.
Przesuwasz najmłodsze bity o 1 w lewo i powtarzasz
7 lut 22:30
Dziadek Mróz:
O ile o to chodziło
7 lut 22:30