Форум сайта python.su
Нужно вывести сочетания в убывающем порядке. На вход поступает 2 числа. Первое число это максимальный элемент,а второе это длина сочетаний.Например :
Ввод:
5
2
Вывод:
(5, 4)
(5, 3)
(4, 3)
(5, 2)
(4, 2)
(3, 2)
(5, 1)
(4, 1)
(3, 1)
(2, 1)
Где ошибка в коде ?
n = int(input())
k = int(input())
A = [0]
for i in range(k):
A.append(i + 1)
A.reverse()
while True:
print(A[0:len(A)-1])
s = 0
while A[s] >= n - k + A[k]:
A[k]=A[k-1]
s += 1
if s == k:
break
A[s] += 1
for i in range(s + 1, k + 1):
A[i] = A[i - 1] + 1
Отредактировано Dangerous (Ноя. 17, 2018 15:42:23)
Офлайн
А как должно быть?
Офлайн