Аватар
Информатика, опубликовано 2018-08-22 22:40:17 by Гость

Вы разрабатываете учебное расписание для военной части. Известно, что в месяце 30 дней, и в расписании должно быть ровно 11 учебных тревог (каждая тревога занимает ровно 1 день). При этом между любыми двумя учебными тревогами должен быть хотя бы один день, в который их не будет (выходной). Сколькими способами можно расставить учебные тревоги?

Аватар
Ответ оставил Гость

167960

вот так считала, правда считает долго, а как оптимизировать не знаю
Ruby 22

n = 0
for bin in 1..2**30-1
    s = ("000000000000000000000000000000" + bin.to_s(2))[-30..-1]
    next if s.include?("11")
    i = 0
    for j in 0..s.size
        i+=1 if s[j] == "1"
    end
    next if i != 11
    n += 1
    p [s, i, n]
end

Вопрос
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.