English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés
Σ: 1 post

TCH  (statz) Főfasz
#1, Főfasz (10443)
2443 | #265d | ^ | Idézet | Thu, 27 Jun 2013 22:26:22 +02
78.92.*.* Linux x86 Opera Classic Hungary *.catv.pool.telekom.hu
Nézegetem a Lua nyelvet a Wikin és találtam benne egy ilyen példakódot.
function factorial(n)
  if n == 0 then
    return 1
  else
    return n * factorial(n - 1)
  end
end
Hát őszintén remélem, hogy aki ezt írta, az nem gondolta komolyan...ez ugyanis n darab meghívást, azaz n darab veremműveletet, paraméterátadást és ugrást, majd visszatérést fog tartalmazni...

Akkor már
function factorial(n)
	local x = 1
	for i = 2,n do
		x = x * i
	end
	return x
end
Sima ciklus. Sokkal gyorsabb. Sőt. Bizonyos mérték fölött végtelenszer, mert a másik egyszerűen be fog pusztulni veremtúlcsordulással. Tesztkódnak ennyit: print(factorial(100000)) Hadd szóljon. (Persze ekkora számnak a faktoriálisa már sok lesz neki, de most nem ez a lényeg, hanem a rekurzió itteni alkalmazásának a feleslegessége.)
root@Csabi:~# time lua tchfact.lua
inf

real    0m0.009s
user    0m0.000s
sys     0m0.010s
root@Csabi:~# time lua wikifact.lua
lua: wikifact.lua:5: stack overflow
stack traceback:
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        ...
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:5: in function 'factorial'
        wikifact.lua:9: in main chunk
        [C]: ?

real    0m1.111s
user    0m1.100s
sys     0m0.010s
QED. (Hüje matematiqs0k.)
Mindenesetre kicseréltem, nehogy valaki komolyan vegye. (A Wikinek egyszerre a legnagyobb előnye és hátránya, hogy mindenki beletúrhat.)


English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés

Név: (max 255 byte)

Email: (max 255 byte) Nem kötelező!

Üzenet: (max 65536 kar.) 65536-0=65536




crap_vkn v4.34.0 by TCH
Thx to saxus for the escaped string decoder function (PHP), the realIP function (PHP) & the SQL handle layer (PHP), to thookerov for the int_divide function (PHP), to Jeff Anderson for the getSelText function (JS), to Alex King for the insertAtCursor function (JS), Flood3r for the new CSS styles, Pety for the spamprotection idea and some design and comfort ideas, MaxMind for the IP2Country database, famfamfam for the flags of countries and an unknown PHP programmer for the removeAccents function.



Kecskebaszók ide!