Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
21
Task/Combinations/Nim/combinations.nim
Normal file
21
Task/Combinations/Nim/combinations.nim
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
iterator comb(m, n): seq[int] =
|
||||
var c = newSeq[int](n)
|
||||
for i in 0 .. <n: c[i] = i
|
||||
|
||||
block outer:
|
||||
while true:
|
||||
yield c
|
||||
|
||||
var i = n-1
|
||||
inc c[i]
|
||||
if c[i] <= m - 1: continue
|
||||
|
||||
while c[i] >= m - n + i:
|
||||
dec i
|
||||
if i < 0: break outer
|
||||
inc c[i]
|
||||
while i < n-1:
|
||||
c[i+1] = c[i] + 1
|
||||
inc i
|
||||
|
||||
for i in comb(5, 3): echo i
|
||||
Loading…
Add table
Add a link
Reference in a new issue