Aktywne Wpisy
![](https://wykop.pl/cdn/c0834752/c1fb65d12d3076b3cfc8ada26aecea125a7e43f180c8db93b55330a85454577c,q60.png)
EarpMIToR +33
myślę ze integracja Francuzów z nowymi mieszkańcami przebiega bardzo dobrze xDDDDD
#francja #europa #geopolityka #imigranci #ciekawostki #wydarzenia
#francja #europa #geopolityka #imigranci #ciekawostki #wydarzenia
![](https://wykop.pl/cdn/c3201142/11e8cb9dc36677549f4e73491c2de667de50da3d237d123315035aa0c135c0a4,w150h100.jpg?author=EarpMIToR&auth=3a6dd97f8e620910782f1c971cf44e67)
![](https://wykop.pl/cdn/c0834752/260a4d7c7480bd04e4e33dc1495b6e313a5a79d75c9eb52da31c2ccadab5c5a9,q60.jpg)
6aesthetic9 +118
styluwa do oceny
![](https://wykop.pl/cdn/c3201142/651d8c92e851aec7be7f284899bdbb98ebf58a06944645813798b4bf3bec5ce5,w150.jpg)
#kotlin #koziolekweb #programowanie
fun fac(i: Int): Int {
?2. if (i == 0)
3. return 1;
4. return i * fac(i - 1);
5.}
W rekurencji ogonkowej do kolejnego wywolania funkcji przekazujesz caly stan tak ze nie musisz odkladac na stosie stanu poprzedniego.
Taka zmiana jak
return fac((i - 1) * i) powoduje ze przekazujesz cale dzialanie dalej i nie
#
i-1
– zapamiętane pod adresem X#
fun(X)
– zapamiętane pod Y#
i * Y
– zwróconeI teraz w drugim kroku masz skok do pierwszego. Przy odpowiednio dużej liczbie wywołań nastąpi:
# przepełnienie stosu wywołań, albo
# wyczerpanie pamięci służącej do alokowania wyników.