1 から 100 までの 10 個の異なる数を選択する C(100,10) の可能性が存在することが知られています。それぞれの可能性は、[1, 2,..., 10] または [2,3,...,11] または [11, 22, 33, .., 99, 100] のような組み合わせです。 10桁違います。
プログラミングですべての組み合わせを一覧表示するには??
10 個のループを書きたくない、python または c が望ましい
1 から 100 までの 10 個の異なる数を選択する C(100,10) の可能性が存在することが知られています。それぞれの可能性は、[1, 2,..., 10] または [2,3,...,11] または [11, 22, 33, .., 99, 100] のような組み合わせです。 10桁違います。
プログラミングですべての組み合わせを一覧表示するには??
10 個のループを書きたくない、python または c が望ましい
python とitertools.combinationsを使用します。
警告- 印刷には時間がかかります
for i in itertools.combinations(xrange(1,101),10):
print i
私の友人、Yujie Liuがこのアイデアを思いつきました。純粋な反復の使用。
# select n diff numbers from min - max
def traceArr(arr, min, max, n):
if n > 0:
for i in range(min, max-n+2):
arr1 = arr[:]
arr1.append(i)
traceArr(arr1, i+1, max, n-1)
elif n == 0:
print arr
# Demo, select 5 diff numbers from 1-10
traceArr([], 1, 10, 5);