Random split number

Run Settings
LanguageNim
Language Version
Run Command
import random, strutils randomize() proc randomCut(num: Natural, count: Natural): seq[Natural] = result = newSeq[Natural](count) let numStr = $num let length = numStr.len assert(count > 0 and count <= length) var j = 0 for i in 0 ..< count: var resultStr = "" while j < length: resultStr.add(numStr[j]) j += 1 if (i == count - 1): continue if (length - j <= count - i - 1): break if rand(length - j - 1) < count - i - 1: break result[i] = resultStr.parseInt.Natural let num = 123456789 for i in 0 ..< 100: echo num.randomCut(3)
Editor Settings
Theme
Key bindings
Full width
Lines