考虑到一个数字大于另一个数字,2个数字的可能结果数量

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.


cle*_*tus 6

如果您选择:

  • 1:2到10 = 9种可能性
  • 2:3到10 = 8种可能性
  • ...
  • 9:10 = 1可能性

所以

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)