0 algorithm combinations permutation combinatorics
我正在尝试编写一种算法来计算结果.但我需要有关组合学的帮助.
假设我必须从1到10中选择2个数字.根据计算的基本规则,在没有任何限制的情况下,可能结果的数量是10*10 = 100.(选择第一个数字x 10可能的10个可能结果选择第二个结果).
鉴于第一个数字必须大于第二个数字,可能的结果数量是多少?
SPW*_*ley 11
45.
想象一下你的10x10对网格.有一条从1,1到10,10的对角线,其中A = B,所以那些不是A> B. 该线将其他情况分成两半:一个具有A> B,一个具有B <A.这些分区中的每个具有相同的大小.剩下90个值(对角线占10个)所以有45对,其中A> B.
如果您选择:
所以
9 + 8 + ... + 2 + 1 = 45
Run Code Online (Sandbox Code Playgroud)
这被称为算术级数,总和等于:
f(n) = n * (n+1) / 2 = 9 * 10 / 2 = 45
Run Code Online (Sandbox Code Playgroud)