Rekurencja - obliczanie naturalnej potęgi liczby całkowitej

DZIAŁANIE: 25 = 32
2 do potęgi 5 to : 32
2 do potęgi 5 to : 32
 

Kod:

Ewentualne Objaśnienia:

W języku mam wbudowaną funkcję do obliczania potęg. Jest to identyczna funkcja jak w języku C++. Czyli funkcja pow. Jest ona bardzo prosta i pozwala szybciutko obliczyć potęgi. Tutaj jednak chciałem Wam pokazać jeszcze w ramach rekurencji własne napisanie funkcji do liczenia potęgi.
Jest to dość proste trzeba tylko pamiętać o 3 przypadkach:
- jeżeli podnosimy jakąś liczbę do potęgi 0 to wynik jest 1;
- jeżeli podnosimy liczbę do potęgi parzystej to: jest to liczba do potęgi: (potęga/2)do potęgi 2. Trochę to skomplikowane ale tak na chłopski rozum:
24=(24/2)2 czyli (22)2 = 24 ( widzisz zastosowanie rekurencji ??
- jeżeli podnosimy do potęgi nieparzystej to przykładowo:
25=2*(25/2)2 = 2*(22)2= 2*24= 25

Trzeba tylko się zastanowić jak wyznaczyć dobrze tą liczbę dzielenia potęgi przez 2. Wiadomo kiedy jest to liczba parzysta no to nie ma problemu. Ale co zrobić jeśli to liczba nieparzysta ( bo przecież wynik będzie z częścią dziesiętną ). Można kombinować z inkrementacją potęgi, ale można też użyć gotowej funkcji floor. Funkcja ta powoduje wyświetlenie tylko części całkowitej danego działania.

Skoro znasz metodę działania funkcji oraz wiesz już do czego służy nam funkcja floor przyjrzyj się przedstawionemu kodowi , proste prawda ? Jest to dokładnie przedstawienie rekurencyjne omówionych przeze mnie 3 przypadków.

Dalej pokazałem także działanie gotowej funkcji pow, o której mówiłem na samym początku. Jak widać możemy ją wykorzystać podając bezpośrednia liczby lub zmienne.
Składnia funkcji pow jak widać to: pow(liczba,potęga) [ co daje nam oczywiście: liczbapotęga ]