Javascript: Без двух нулей

Введение в программирование 159 сообщений
Обновлено: 04 мая, 12:13
2897
Студентов
58%
Завершения

solution.js

Реализуйте и экспортируйте по умолчанию функцию, которая принимает на вход два аргумента - количество нулей и количество единиц, и определяет сколько есть способов размещения этих нулей и единиц так, чтобы не было двух нулей идущих подряд.

Например, определим все способы размещения двух нулей и двух единиц. Существует шесть возможных способов размещения: 0011, 0101, 0110, 1001, 1010, 1100. В трех случаях содержится два нуля, идущих подряд: 0011, 1001 и 1100. Вычитаем их из общего числа и получаем три возможных способа: 0101, 0110 и 1010. Ответ - 3.

Примеры использования:

import withoutTwoZeros from './solution';

withoutTwoZeros(2, 2); // 3
withoutTwoZeros(1, 1); // 2
withoutTwoZeros(1, 3); // 4
withoutTwoZeros(2, 4); // 10

Подсказки

Для полного доступа к испытанию нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
900
упражнений
2000+
часов теории
3200
тестов

Впечатления

Аватар пользователя Виктория Фомина
Виктория Фомина 05 декабря 2019

Спасибо за прекрасную задачу!


Аватар пользователя Тимофей Ч.
Тимофей Ч. 09 ноября 2019

Не занимался несколько месяцев, решил повторить курс. Тогда решал задачу целый день, и получилось достаточно коряво. Сегодня открыл, поначалу испугался, думал, провожусь долго, но нет, справился за час, и сразу написал без изменяемых состояний. Хорошо Хекслет рекурсии вбил в голову!)


Аватар пользователя Natalia A.
Natalia A. 30 сентября 2018

Теперь у меня есть печальный опыт (на 35 строк) приступания к заданию до того, как придумаешь оптимальный алгоритм. Лучшая практика на Хекслете, очень поучительно, спасибо :) PS: ребята, не сдавайтесь, пусть даже так круто как у учителя не выйдет, продолжайте. Превозмогая трудности!


Аватар пользователя Igor Averin
Igor Averin 09 сентября 2018

Сразу же начал решать через формулы комбинаторики, что затянуло выполнение. Наверное можно было бы решить "костыльными" методами быстрее, но стало интересно освежить знания и потренироваться. Задача интересная! Спасибо что вернули! :)


Аватар пользователя Андрей Кашаев
Андрей Кашаев 19 июля 2018

Хорошая, задачка. Ломал голову целый день, но в итоге вывел формулу для получения количества перестановок с 00. Как? Экспериментально, Ватсон! После этого все решилось, причем за 0.3сек )) Решение учителя пока не понял, но красивое.