Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
29
Task/Hailstone-sequence/Wren/hailstone-sequence.wren
Normal file
29
Task/Hailstone-sequence/Wren/hailstone-sequence.wren
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
var hailstone = Fn.new { |n|
|
||||
if (n < 1) Fiber.abort("Parameter must be a positive integer.")
|
||||
var h = [n]
|
||||
while (n != 1) {
|
||||
n = (n%2 == 0) ? (n/2).floor : 3*n + 1
|
||||
h.add(n)
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
var h = hailstone.call(27)
|
||||
System.print("For the Hailstone sequence starting with n = 27:")
|
||||
System.print(" Number of elements = %(h.count)")
|
||||
System.print(" First four elements = %(h[0..3])")
|
||||
System.print(" Final four elements = %(h[-4..-1])")
|
||||
|
||||
System.print("\nThe Hailstone sequence for n < 100,000 with the longest length is:")
|
||||
var longest = 0
|
||||
var longlen = 0
|
||||
for (n in 1..99999) {
|
||||
var h = hailstone.call(n)
|
||||
var c = h.count
|
||||
if (c > longlen) {
|
||||
longest = n
|
||||
longlen = c
|
||||
}
|
||||
}
|
||||
System.print(" Longest = %(longest)")
|
||||
System.print(" Length = %(longlen)")
|
||||
Loading…
Add table
Add a link
Reference in a new issue