RosettaCodeData/Task/Look-and-say-sequence/MiniScript/look-and-say-sequence.mini

24 lines
546 B
Plaintext

// Look and Say Sequence
repeats = function(digit, string)
count = 0
for c in string
if c != digit then break
count = count + 1
end for
return str(count)
end function
numbers = "1"
print numbers
for i in range(1,10) // warning, loop size > 15 gets long numbers very quickly
number = ""
position = 0
while position < numbers.len
repeatCount = repeats(numbers[position], numbers[position:])
number = number + repeatCount + numbers[position]
position = position + repeatCount.val
end while
print number
numbers = number
end for