23 lines
402 B
Nim
23 lines
402 B
Nim
iterator combinations(m: int, n: int): seq[int] =
|
|
|
|
var result = newSeq[int](n)
|
|
var stack = newSeq[int]()
|
|
stack.add 0
|
|
|
|
while stack.len > 0:
|
|
var index = stack.high
|
|
var value = stack.pop()
|
|
|
|
while value < m:
|
|
result[index] = value
|
|
inc value
|
|
inc index
|
|
stack.add value
|
|
|
|
if index == n:
|
|
yield result
|
|
break
|
|
|
|
for i in combinations(5, 3):
|
|
echo i
|