кто может
Реккурентная функция для разбиения числа N, типа 3 разбивается на {3}, {2, 1}, {1, 1, 1}
Вроде всё просто, вот функция
function p(n, k) {
if (n === 0 && k === 0) return 1;
else if (k === 0 && n > 0) return 0;
if (k > n) return p(n, n);
else if (k <= n) return p(n, k - 1) + p(n - k, k);
}
Но например p(5,2) выводит 3, а это а не верно
Я что то не так делаю или что то с формулой не так ?
На литкоде поищи в easy сегменте, недавно видел прям, там и объяснения и решения есть
Ничего сложного, если посидеть и подумать
Если кончено есть время
А у тебя что нет времени?
нет времени, кончено
1 1 1 1 1 2 1 1 1 2 2 1 ---- Итого: 3
Ноуп У пятёрки семь комбинаций вообще. Но к тому же задача состоит в том что бы 5 разделить на составные длиной 2 P(5,2) 2 + 3 4 + 1 Тобишь ответ должен быть 2
Ты задачу прочитай.
3 превышает 2, 4 превышает 2
Ну а чё ты хотел, если сам задачу неправильно понял
Обсуждают сегодня