№ 118(4), Апрель, 2016
Дата выпуска: 29.04.2016
Архив журнала: Статей 111, 300 kb
-
01.00.00 Физико-математические науки
01.00.00 Физико-математические науки
Краткое описаниеКлассическая комбинаторная формула для расчета числа сочетаний из n по m: C(n,m)=n!/(m!(n-m)!) предполагает промежуточный расчет факториалов, что чаще всего невозможно при n>170 из-за ограничений в разрядности чисел, используемых в языках программирования и созданных помощью них системах. Однако, в ряде случаев необходимо произвести расчет числа сочетаний при n и m значительно превосходящих это ограничение, например при их значениях больше 10000. В подобных случаях возникает определенная проблема, проявляющаяся, например в том, что многие on-line сервисы по расчету числа сочетаний при таких параметрах не работают. В данной статье предлагается ее решение в виде алгоритма и программной реализации. Суть подхода состоит в том, чтобы сначала разложить факториалы на простые множители и сократить их, а уже потом уже производить умножения. Этот подход отличается от приводимых в Internet