Forum » Programiranje » Java, eno vprašanje
Java, eno vprašanje
VeNoM666 ::
Zdravo!
Zanima me, če bi mi lahko prosim nekdo razložil, zakaj spodnja metoda vrne 96? Sem poskusil z debugerjem pa mi še vedno ni jasno.
Hvala!
Zanima me, če bi mi lahko prosim nekdo razložil, zakaj spodnja metoda vrne 96? Sem poskusil z debugerjem pa mi še vedno ni jasno.
Hvala!
public class Test { public static int funkcija(int m, int n) { if(m>0) { return m*funkcija(m-1, n); } if(n>0) { return n+funkcija(m, n-1); } return 1; } public static void main(String[] args) { int rezultat; rezultat=funkcija(4,2); System.out.print(rezultat); } } // 4*(3,2)
Blinder ::
kolko bi moralo vrnit? 28?
a čak. tep ti, iz m-jev, dobi vn 4*3*2*1, torej 24. Potem pa teh 24 gre množit z n-ji in sicer (2+1+1), torej 24*4, kar pride glih 96.
ko kličeš funkcija(0, 0) ti returna 1, in s tole enko pomnoži tistih m-jevih 24.
a čak. tep ti, iz m-jev, dobi vn 4*3*2*1, torej 24. Potem pa teh 24 gre množit z n-ji in sicer (2+1+1), torej 24*4, kar pride glih 96.
ko kličeš funkcija(0, 0) ti returna 1, in s tole enko pomnoži tistih m-jevih 24.
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
Zgodovina sprememb…
- spremenil: Blinder ()
VeNoM666 ::
To je naloga iz enega izpita in je vprašanje, koliko vrne naslednja funkcija (ok, to je sicer za C, ampak saj je podobno kot v javi)
Sam sem dodal razred in metodo main in mi je izpisala 96
int funkcija(int m, int n) { if(m>0) { return m*funkcija(m-1, n); } if(n>0) { return n+funkcija(m, n-1); } return 1; }
Sam sem dodal razred in metodo main in mi je izpisala 96
Blinder ::
jaz sem prvo spregledal, da je pri n-ju plus in ne krat.
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
VeNoM666 ::
Aha, tnx, vidim, da si me prehitel.
Tole mi je jasno, da je m 24, n pa 4, ni mi pa jasno zakaj potem pomnoži 24*4*1?
Če prav razumem, se returni pomnožijo med sabo, če funkcija/metoda večkrat vrača znotraj rekurzije?
Tole mi je jasno, da je m 24, n pa 4, ni mi pa jasno zakaj potem pomnoži 24*4*1?
Če prav razumem, se returni pomnožijo med sabo, če funkcija/metoda večkrat vrača znotraj rekurzije?
Zgodovina sprememb…
- spremenil: VeNoM666 ()
Blinder ::
težko za razumet, težko za razložit.
ko se ustvarja rezultat z m-ji dobiš 4*3*2*1. Potem tole, =24, pomnožiš z (2 + f(0,1)). Zdej, f(0,1) je (1 + f(0,0)). f(0,0) je 1(zaradi return 1). in pogledaš za nazaj,
(1 + f(0,0)) = 1+1 = f(0,1) = 2
(2 + f(0,1)) = 4
Potem tole, =24, pomnožiš z (2 + f(0,1)) torej si 24 pomnožil z 4.
a bo šlo?
ko se ustvarja rezultat z m-ji dobiš 4*3*2*1. Potem tole, =24, pomnožiš z (2 + f(0,1)). Zdej, f(0,1) je (1 + f(0,0)). f(0,0) je 1(zaradi return 1). in pogledaš za nazaj,
(1 + f(0,0)) = 1+1 = f(0,1) = 2
(2 + f(0,1)) = 4
Potem tole, =24, pomnožiš z (2 + f(0,1)) torej si 24 pomnožil z 4.
a bo šlo?
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
Blinder ::
nb, tut js treniram javo te dni, pa mi koristi tudi kakšna taka nalogca
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Pomoč z C++ nalogoOddelek: Programiranje | 1427 (1234) | denis123 |
» | Program v COddelek: Programiranje | 1932 (1771) | darkkk |
» | [NALOGA][Java] SinusOddelek: Programiranje | 1303 (1235) | Lukeatluke |
» | [C++] RekurzijaOddelek: Programiranje | 3360 (3101) | A1eN |
» | OpenGL orr v ansi cOddelek: Programiranje | 1637 (1425) | igor12 |