Количество сочетаний (61)
Число сочетаний - часто используемая формула в комбинаторике. Это количество вариантов выбрать из множества объектов N наборы по K объектов.
n n!
C = --------
k (n-k)!k!
```
Например вычислить количество вариантов Спортлото 5 из 36
C = 36!/((36-5)! \* 5!) = 376992
C = 250!/((250-110)!\*110!) = 1.5120188e73 (это долго считает)
0 1 2 3 4 5 6 7 8 9
00 П1 XY - FBx Kmax ИП1 XY - П0 1 10 П2 ИП2 ИП1 * ИП0 / П2 КИП1 FL0 11 20 ИП2 С/П БП 00 ```
Ввод: k В↑ n С/П. При индикации ошибки (ЕГГОГ) перед вводом новых данных нажать В/О
Регистры:
- П0 - меньшее число из k и (n-k)
- П1 - n - количество элементов множества
- П2 - регистр накопитель результата
Программа записывает n в П1, вычисляет меньшее из k и (n-k) и записывает в П0, очищает регистр-накопитель П2, записав туда 1 (адр 00..10). Затем выполняется основной цикл вычислений (адр. 11..19) где содержимое накопителя поочерёдно умножается на число из числителя, делится на число из знаменателя, а затем декрементируются оба регистра источника данных П1 и П0. По окончании вывод результатов, останов и переход к началу программы.
Программа всегда выполняет минимальное количество итераций и потому способна считать значения не доступные инженерным калькуляторам со встроенной функцией. Например пример 2 CASIO fx-82MS взять не в состоянии.
blog comments powered by Disqus