[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.01.15
Prihlásený: 22.05.15
Príspevky: 11
Témy: 3 | 3
NapísalOffline : 07.04.2015 0:30 | Faktorial

Pani profesionali, mam jeden problem, ani nie to problem, ale otazku co konkretne robi toto:
Kód:
fakt(n - 1)
v tejto funkcii:
Kód:
int fakt(int n){
   return((n <= 0) ? 1 : n * fakt(n - 1));
}


pravdepodobne to tam hadze, ak n = 10 cisla 1,2,3,4..., ale skor mam na mysli ako to funguje.


Offline

Skúsený užívateľ
Skúsený užívateľ
Faktorial

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66 | 66
Bydlisko: Žilina
NapísalOffline : 07.04.2015 0:35 | Faktorial

Nadáva sa tomu rekurzia http://sk.wikipedia.org/wiki/Rekurzia_(matematika).
V tomto prípade sa znižuje stále parameter pri volaní seba samej, kým platí, že n je väčšie ako 0.
Ak to máš problém pochopiť, vypíš si na papier čo sa deje s "n".


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.01.15
Prihlásený: 22.05.15
Príspevky: 11
Témy: 3 | 3
Napísal autor témyOffline : 07.04.2015 0:58 | Faktorial

diki walther, pochopil som to :)


Offline

Správca fóra
Správca fóra
Faktorial

Registrovaný: 08.08.09
Príspevky: 12449
Témy: 39 | 39
NapísalOffline : 07.04.2015 13:14 | Faktorial

Len jedno malé vylepšenie:
Podmienku môžeš upraviť na [c]return ((n <= 1) ? 1 : n * fakt(n - 1));[/c]
Že prečo? S výhodou tu využiješ platný vzťah [c]1! = 1[/c], a preto "ušetríš" jedno rekurzívne volanie tvojej funkcie. Zdá sa to ako nezmysel, ale hovorí sa tomu optimalizácia a tá hýbe svetom ;)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.01.15
Prihlásený: 22.05.15
Príspevky: 11
Témy: 3 | 3
Napísal autor témyOffline : 07.04.2015 16:35 | Faktorial

dobry postreh killer, diki :)


 [ Príspevkov: 5 ] 


Faktorial



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Faktorial

v Benchmarky a diagnostické programy

1

941

14.08.2007 0:21

Spirit

V tomto fóre nie sú ďalšie neprečítané témy.

Faktorial - Pascal

v Assembler, C, C++, Pascal, Java

9

1676

28.09.2009 8:10

pizet

V tomto fóre nie sú ďalšie neprečítané témy.

Faktorial - pretečenie

v Assembler, C, C++, Pascal, Java

6

1045

09.11.2008 15:45

ado21

V tomto fóre nie sú ďalšie neprečítané témy.

Faktorial C++

v Assembler, C, C++, Pascal, Java

5

4740

16.01.2010 18:02

johny3212

V tomto fóre nie sú ďalšie neprečítané témy.

Faktorial v c++

v Assembler, C, C++, Pascal, Java

10

1832

02.06.2009 22:44

ado21

V tomto fóre nie sú ďalšie neprečítané témy.

[Pascal] Faktorial - zdrojak - surne

v Assembler, C, C++, Pascal, Java

2

6032

20.05.2008 18:02

Axwell



© 2005 - 2024 PCforum, edited by JanoF