Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Príspevok NapísalOffline : 07.04.2015 0:30

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
Bydlisko: Žilina
Príspevok NapísalOffline : 07.04.2015 0:35

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
Príspevok Napísal autor témyOffline : 07.04.2015 0:58

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
Príspevok NapísalOffline : 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 ;)


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
Príspevok Napísal autor témyOffline : 07.04.2015 16:35

dobry postreh killer, diki :)


Odpovedať na tému [ Príspevkov: 5 ] 


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 Zobrazenie posledných príspevkov

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

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

5

4738

16.01.2010 18:02

johny3212 Zobrazenie posledných príspevkov

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

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

9

1675

28.09.2009 8:10

pizet Zobrazenie posledných príspevkov

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

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

6

1043

09.11.2008 15:45

ado21 Zobrazenie posledných príspevkov

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

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

10

1831

02.06.2009 22:44

ado21 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Pascal] Faktorial - zdrojak - surne

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

2

6028

20.05.2008 18:02

Axwell Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra