diff options
Diffstat (limited to '2.lua')
-rw-r--r-- | 2.lua | 30 |
1 files changed, 0 insertions, 30 deletions
@@ -1,30 +0,0 @@ -local function memoize(fn) - local t = {} - return function(x) - local y = t[x] - if y == nil then y = fn(x); t[x] = y end - return y - end -end - -fib = memoize(function(n) - if n < 3 then return 1 end - return fib(n - 1) + fib(n - 2) -end) - -local root5 = math.sqrt(5) -local phi = (1 + root5)/2 -local function fib2(n) - return math.floor((phi^n-(1-phi)^n)/root5+0.5) -end - -local sum = 0 -local i = 0 -while true do - i = i + 1 - local n = fib(i) - if n > 1000000 then break end - if n % 2 == 0 then sum = sum + n end -end - -print(sum) |