Предмет: Информатика,
автор: romanr161198
Напишите задачу на Pascal
Иван Петрович взял отпуск продолжительностью n дней. Первый день отпуска выпадает на день недели под номером d (1 — понедельник, 2 — вторник, ..., 7 — воскресенье). Иван Петрович любит ездить отдыхать на Кипр. Но вылеты на Кипр из его родного города есть только по понедельникам, а обратно — только по воскресеньям. Иван Петрович хочет понять, какое максимальное количество недель он сможет провести на Кипре в свой отпуск (день прилёта и день обратного вылета Иван Петрович считает днями, проведёнными на Кипре). Помогите ему вычислить это.
Входные данные
В первой строке входных данных записано целое число n (1 ≤ n ≤ 109) — продолжительность отпуска. Во второй строке записано целое число — d (1 ≤ d ≤ 7) — номер дня недели первого дня отпуска.
Выходные данные
Требуется вывести одно целое число — количество недель, которое Иван Петрович проведёт на Кипре.
Система оценки
Решения, работающие верно при n ≤ 1000, будут оцениваться в 60 баллов.
Примеры
Ввод
Вывод
Пояснение
14
1
2
Отпуск продолжается 14 дней и начинается в понедельник. Поэтому Иван Петрович улетит на Кипр в первый день и вернётся в 14-й день, продолжительность пребывания на Кипре составит две недели.
17
3
1
Отпуск начинается в среду. Ближайший понедельник будет 6-м днём отпуска. Ивану Петровичу придётся вернуться в воскресенье, которое будет 12-м днём отпуска. Следующее воскресенье будет 19-м днём отпуска, а продолжительность отпуска только 17 дней. Поэтому на Кипре Иван Петрович проведёт всего лишь одну неделю.
Ответы
Автор ответа:
0
var
d,count,n:integer;
begin
repeat
readln(n);
until (n>=1) and (n<=109);
repeat
readln(d);
until (d>=1) and (d<=7);
if d<>1 then
n:=n-(8-d);
count:=n div 7;
writeln(count);
end.
Интересные вопросы
Предмет: Русский язык,
автор: наидаисаева1990
Предмет: Русский язык,
автор: Аноним
Предмет: Русский язык,
автор: aienka
Предмет: Литература,
автор: Juggernaut734
Предмет: Алгебра,
автор: Mukhammed2003