Формула разделения Рамануджана: ее реализация в JavaScript

Формула разбиения Рамануджана — это математическая формула, позволяющая вычислить количество разбиений заданного целого числа. Вот пример реализации формулы разделения Рамануджана в JavaScript:

function ramanujanPartition(n) {
  if (n < 0) return 0;
  if (n <= 1) return 1;
  let result = 0;
  for (let i = 1; ; i++) {
    let pent1 = i * (3 * i - 1) / 2;
    let pent2 = i * (3 * i + 1) / 2;
    let coef = (i % 2 === 0) ? -1 : 1;
    result += coef * (ramanujanPartition(n - pent1) + ramanujanPartition(n - pent2));
    if (pent1 > n) break;
  }
  return result;
}
// Example usage
console.log(ramanujanPartition(5));  // Output: 7

Эта реализация использует рекурсию для расчета секций. Функция ramanujanPartitionпринимает целое число nв качестве входных данных и возвращает количество разделов nна основе формулы разделения Рамануджана.