fork download
  1. import strutils
  2.  
  3. iterator items(limit: int): seq[int] =
  4. var
  5. n = 1
  6. nums: seq[int] = @[]
  7. next: seq[int] = @[]
  8. while n <= limit:
  9. var count, pre: int
  10. if nums.len == 0: next.add 0
  11. else:
  12. count = 0
  13. pre = nums[0]
  14. for i in nums:
  15. if pre == i:
  16. count += 1
  17. elif count > 2:
  18. next.add pre
  19. count = 1
  20. pre = i
  21. else:
  22. next.add count
  23. next.add pre
  24. count = 1
  25. pre = i
  26. if count > 2:
  27. next.add pre
  28. else:
  29. next.add count
  30. next.add pre
  31. nums = next
  32. next = @[]
  33. yield nums
  34. inc n
  35.  
  36. proc seqToStr(nums: seq[int]): string =
  37. var str = ""
  38. for i in nums: str.add i.intToStr
  39. return str
  40.  
  41. for s in stdin.readLine.parseInt: echo s.seqToStr
Success #stdin #stdout 0s 2444KB
stdin
15
stdout
0
10
1110
110
2110
122110
11222110
2122110
1211222110
11122122110
12211222110
11222122110
21211222110
1211122122110
111212211222110