| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Pii LuallaAkheron 09.01.05 20:42 Piin laskentaa Lua-kielellä
-- Piin laskentaa Lua-kielellä -- -- Käyttää samaa kaavaa kuin Sharlinin C++-template-toteutus -- (http://mureakuha.com/koodikirjasto/320), eli -- -- inf -- ___ -- 9 \ (i!)² -- pi = --------- * > --------- -- 2*sqrt(3) /__ (2i + 1)! -- -- i=0 -- -- Lisätietoa Lua:sta löydät osoitteesta http://www.lua.org -- -- Akheron, aka Petri Lehtinen, 2005 iterations = 25 function fact(n) if n == 0 or n == 1 then return 1; end return n * fact(n - 1) end function pi(n) if n == 0 then return 1; end return fact(n) * fact(n) / fact(2 * n + 1) + pi(n - 1) end print(4.5 / math.sqrt(3) * pi(iterations)) Akheron 18:19 11.1.05 Eihän noita kertoman ja summan laskemisia pakko ole rekursiivisesti tehdä. Idea kuitenkin tuli suoraan Sharlinin C++-templateilla tehdystä koodipätkästä, jossa homma on halutun lopputuloksen saavuttamiseksi pakko tehdä rekursion omaisesti. Niinpä se on tässäkin toteutettu sillä tavalla. Tämä koodipätkä ei myöskään esittele juuri mitään Lua:n ominaisuuksia, joiden ansiosta se eroaa muista skriptikielistä tai yleensä mistään kielistä. Voisinpa siis melkein suositella jokaiselle miinuksen antamista ;) ZcMander 18:42 12.1.05 Mutta eihän kaikkien koodivinkkien piä esitellä kielen erikois ominaisuuksia. |
![]() Haku
|