Вы разрабатываете учебное расписание для военной части. Известно, что в месяце 30 дней, и...

0 голосов
36 просмотров

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


Информатика (30 баллов) | 36 просмотров
0

пользуйтесь поиском, чтоб вас

Дан 1 ответ
0 голосов
Правильный ответ

680
программу я раньше уже приводила
n = 0
kolvo_trevog = 14
for bin in 1..2**30-1
    s = bin.to_s(2)
    next if s.include?("11")

    i = 0
    for j in 0..s.size
        i += 1 if s[j] == "1"
    end
    next if i != kolvo_trevog

    s = ("000000000000000000000000000000" + s)[-30..-1]
    n += 1
    p [s, i, n] if n % 100 == 0
end
p [s, i, n]

самокопия znanija.com/task/17844559


(53.1k баллов)