c=lambda n,k:k>1and'\n'.join(c(n-i,k-1)for i in range(n))or'987654321'[-n:] for n, k in ((5,1),(5,2),(5,3),(3,4)): print 'n=%d k=%d' % (n, k) print c(n, k) print '------'
Standard input is empty
n=5 k=1 54321 ------ n=5 k=2 54321 4321 321 21 1 ------ n=5 k=3 54321 4321 321 21 1 4321 321 21 1 321 21 1 21 1 1 ------ n=3 k=4 321 21 1 21 1 1 21 1 1 1 ------