Количество 2 и 5 в двойном факториале - PullRequest
0 голосов
/ 01 октября 2019

Как мы можем найти количество 2 и 5 в двойном факториале (n!!)? Я имею в виду факторизация . Для факториала n! у нас есть алгоритм под названием Super-Algorithm

1 Ответ

0 голосов
/ 01 октября 2019

Ну, у вас есть Супералгоритм , который возвращает число 2 и 5 для n!, давайте обозначим его как sa(n, 2) и sa(n, 5);для двойного факториала у нас есть 2 дел

Четное число, 2n:

  (2n)!! = 2**n * n!

Итак, число2 s равно

   n + sa(n, 2) 

, а число 5 s равно

   sa(n, 5)

Нечетное число, 2n + 1:

   (2n + 1)!! = (2n + 1)! / (2n)!!

Итак, мы имеем число 2 с:

   sa(2n + 1, 2) - (n + sa(n, 2)) = sa(2n + 1, 2) - sa(n, 2) - n

для числа 5 с

   sa(2n + 1, 5) - (sa(n, 5)) = sa(2n + 1, 5) - sa(n, 5)

Наконец, давайте обозначим его как псевдокод dfsa (двухфакторный супералгоритм), n % 2 означает остаток, n / 2 - целочисленное деление:

   dfsa2(n) => n % 2 == 0 
      ? n / 2 + sa(n / 2, 2)
      : sa(n, 2) - sa(n / 2, 2) - n / 2;

   dfsa5(n) => n % 2 == 0 
      ? sa(n / 2, 5)
      : sa(n, 5) - sa(n / 2, 5);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...