fixes #2125
This commit is contained in:
parent
e6dcceae6c
commit
b7f11b8b0a
7 changed files with 113 additions and 20 deletions
|
|
@ -4,16 +4,16 @@ discard """
|
|||
|
||||
import tables
|
||||
|
||||
proc memoize(f: proc (a: int): int): proc (a: int): int =
|
||||
var previous = initTable[int, int]()
|
||||
return proc(i: int): int =
|
||||
proc memoize(f: proc (a: int64): int64): proc (a: int64): int64 =
|
||||
var previous = initTable[int64, int64]()
|
||||
return proc(i: int64): int64 =
|
||||
if not previous.hasKey i:
|
||||
previous[i] = f(i)
|
||||
return previous[i]
|
||||
|
||||
var fib: proc(a: int): int
|
||||
var fib: proc(a: int64): int64
|
||||
|
||||
fib = memoize(proc (i: int): int =
|
||||
fib = memoize(proc (i: int64): int64 =
|
||||
if i == 0 or i == 1:
|
||||
return 1
|
||||
return fib(i-1) + fib(i-2)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
discard """
|
||||
file: "tissue1642.nim"
|
||||
disabled: true
|
||||
"""
|
||||
block:
|
||||
var i = 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue