N数R组合问题
一道小题。
问题描述
输入 n 和 r,找出N个自然数中R个数的组合。
要求:同一组合中不能出现相同的数;任何两组组合包含的数不能完全相同。
例如 n=5 , r=3 时:
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
r=3 时三重循环解法
r 为几就是几重循环,是最简单的写法,但是适用性很窄。因为不能出现两个组合含完全相同的数,就默认按升序输出。
def constitute1(n, r):
t = 0
for i in range(1, n-r+2):
for j in range(i+1, n-r+3):
for k in