Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
33
Task/Hailstone-sequence/Brat/hailstone-sequence.brat
Normal file
33
Task/Hailstone-sequence/Brat/hailstone-sequence.brat
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
hailstone = { num |
|
||||
sequence = [num]
|
||||
while { num != 1 }
|
||||
{ true? num % 2 == 0
|
||||
{ num = num / 2 }
|
||||
{ num = num * 3 + 1 }
|
||||
sequence << num
|
||||
}
|
||||
|
||||
sequence
|
||||
}
|
||||
|
||||
#Check sequence for 27
|
||||
seq = hailstone 27
|
||||
true? (seq[0,3] == [27 82 41 124] && seq[-1, -4] == [8 4 2 1])
|
||||
{ p "Sequence for 27 is correct" }
|
||||
{ p "Sequence for 27 is not correct!" }
|
||||
|
||||
#Find longest sequence for numbers < 100,000
|
||||
longest = [number: 0 length: 0]
|
||||
|
||||
1.to 99999 { index |
|
||||
seq = hailstone index
|
||||
true? seq.length > longest[:length]
|
||||
{ longest[:length] = seq.length
|
||||
longest[:number] = index
|
||||
p "Longest so far: #{index} @ #{longest[:length]} elements"
|
||||
}
|
||||
|
||||
index = index + 1
|
||||
}
|
||||
|
||||
p "Longest was starting from #{longest[:number]} and was of length #{longest[:length]}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue