YAPC::EU 2018 Glasgow Update!
This commit is contained in:
parent
22f33d4004
commit
4e2d22a71d
1170 changed files with 15042 additions and 3047 deletions
17
Task/Hailstone-sequence/Crystal/hailstone-sequence.crystal
Normal file
17
Task/Hailstone-sequence/Crystal/hailstone-sequence.crystal
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
def hailstone(n)
|
||||
seq = [n]
|
||||
until n == 1
|
||||
n = n.even? ? n / 2 : n * 3 + 1
|
||||
seq << n
|
||||
end
|
||||
seq
|
||||
end
|
||||
|
||||
max_len = (1...100_000).max_by{|n| hailstone(n).size }
|
||||
max = hailstone(max_len)
|
||||
puts ([max_len, max.size, max.max, max.first(4), max.last(4)])
|
||||
# => [77031, 351, 21933016, [77031, 231094, 115547, 346642], [8, 4, 2, 1]]
|
||||
|
||||
twenty_seven = hailstone(27)
|
||||
puts ([twenty_seven.size, twenty_seven.first(4), max.last(4)])
|
||||
# => [112, [27, 82, 41, 124], [8, 4, 2, 1]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue