Skip to content

Instantly share code, notes, and snippets.

@koji-k
Created April 3, 2017 13:24
Show Gist options
  • Save koji-k/8ea16b28e6130724d4cfe4c91dbd2952 to your computer and use it in GitHub Desktop.
Save koji-k/8ea16b28e6130724d4cfe4c91dbd2952 to your computer and use it in GitHub Desktop.
トリボナッチ数
def tori = {Long n ->
List result
if (n <= 2) {
result = [0]
} else if (n == 3) {
result = [0, 0, 1]
} else {
result = (4..<n).inject([0, 0, 1] as Queue){queue, i ->
queue.offer(queue.sum())
queue.poll()
queue
}
}
result.sum() as Long
}
assert tori(1) == 0
assert tori(2) == 0
assert tori(3) == 1
assert tori(4) == 1
assert tori(5) == 2
assert tori(6) == 4
assert tori(7) == 7
assert tori(8) == 13
assert tori(9) == 24
assert tori(10) == 44
assert tori(11) == 81
assert tori(12) == 149
assert tori(13) == 274
assert tori(14) == 504
assert tori(15) == 927
assert tori(16) == 1705
assert tori(17) == 3136
assert tori(18) == 5768
assert tori(19) == 10609
assert tori(20) == 19513
assert tori(21) == 35890
assert tori(22) == 66012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment