Hali! Ezt a kódot Jex írta. Vagyis õ mutatta nekem.
Én kicsit nehezen értettem meg a második verziót.
Faktoriális függvény:
stock fact(n)
{
new x=1;
for(new i=n; i>1; i--)
{
x *= i;
}
return x;
}
Magyarázat:
Számoljunk néggyel. Az \"i\"-nek a ciklusban \"n\"(4) értéket ad, és amíg nagyobb az \"i\" mint az 1, az \"x\"-et megszorozza az \"i\"-vel, ami mindig csökken. Így az \"x\" értéke ( a végeredmény) = 24 (4*3*2*1)
rövidebb változat (Rekurzív függvény):
stock fact2(n)
{
if(n == 1) return 1;
return n*fact2(n-1);
}
Magyarázat:
Számoljunk néggyel itt is: Ugye a feltételen továbblép, mert nem egy (...), és beszorozza az akkori n-t az (n-1) -el, vagyis 3-al. Ez addig folytatódik ameddig nem lesz 1 az n értéke. Na menyi lesz a végeredmény? 24. (4*3*2*1) - Valahogy így mondta
Kommenteljétek.