| | |
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Autor | Správa |
---|
Registrovaný: 25.01.15 Prihlásený: 22.05.15 Príspevky: 11 Témy: 3 |
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.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
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, ... |
|
Registrovaný: 25.01.15 Prihlásený: 22.05.15 Príspevky: 11 Témy: 3 |
diki walther, pochopil som to
|
|
Registrovaný: 08.08.09 Príspevky: 12449 Témy: 39 | Napísal killer: 07.04.2015 13:14 | |
|
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
|
|
Registrovaný: 25.01.15 Prihlásený: 22.05.15 Príspevky: 11 Témy: 3 |
dobry postreh killer, diki
|
|
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Faktorial v Benchmarky a diagnostické programy | 1 | 941 | 14.08.2007 0:21 Spirit | | Faktorial C++ v Assembler, C, C++, Pascal, Java | 5 | 4738 | 16.01.2010 18:02 johny3212 | | Faktorial - Pascal v Assembler, C, C++, Pascal, Java | 9 | 1675 | 28.09.2009 8:10 pizet | | Faktorial - pretečenie v Assembler, C, C++, Pascal, Java | 6 | 1043 | 09.11.2008 15:45 ado21 | | Faktorial v c++ v Assembler, C, C++, Pascal, Java | 10 | 1831 | 02.06.2009 22:44 ado21 | | [Pascal] Faktorial - zdrojak - surne v Assembler, C, C++, Pascal, Java | 2 | 6028 | 20.05.2008 18:02 Axwell |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|