Задать вопрос
13 января, 10:55

В некотором государстве текущий год начался с понедельника. Суббота и воскресенье являются выходными дням, а другие дни недели - будни. Кроме того Глава государства издал указ о том, что каждый день года, номер которого (считая от начала года) заканчивается цифрой 0, является государственным праздником. Будний день, в который не отмечается никакой государственный праздник, считается рабочим днём. Требуется определить, следует ли выходить на работу в день с заданным номером

+2
Ответы (1)
  1. 13 января, 14:25
    0
    Всего дней недели 7. Значит если взять день с заданным номером и поделить его на 7 (целочисленно), то получим номер недели, а остаток от деления, соответственно даст день недели: 1 - понедельник (так как год начался с понедельника), 2 - вторник, ..., 6 - суббота, 0 - воскресенье (ноль потому что 7-й день делим на 7 - остаток равен 0). Соответственно, чтоб проверить день на предмет не выходной ли это - надо вычислить остаток от деления на 7 и сравнить с субботой и воскресеньем (с 6 и с 0).

    Можно немного оптимизировать, чтоб обойтись одним сравнением вместо двух. Для этого надо "сдвинуть" все дни так чтобы понедельник был 0, вторник - 1, ..., суббота - 5, воскресенье - 6. Для этого вычесть из номера дня единицу, а потом уже брать остаток от деления. После этого его можно просто сравнивать на больше или равно 5.

    Чтобы проверить день на предмет праздника надо вычислить последнюю цифру номера дня (в десятичной системе счисления), то есть посчитать остаток от деления на 10 и сравнить с нулём.

    Пример функции на С, которая возвращает 1 если выходить на работу в заданный день надо и 0 если не надо:

    int need_to_work (int day_number)

    {

    / * сначала разберемся с праздником * /

    if ((day_number % 10) = = 0) {

    return 0; / / праздник - работать не надо

    }

    / * "сдвигаем" номер дня как описывал выше * /

    day_number = day_number - 1; / / можно day_number--;

    / * проверка на выходные * /

    if ((day_number % 7) > = 5) {

    return 0; / / выходной - работать не надо

    }

    / * все дни, которые не попали в предыдущие условия - рабочие * /

    return 1;

    }
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «В некотором государстве текущий год начался с понедельника. Суббота и воскресенье являются выходными дням, а другие дни недели - будни. ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Напишите программу по выдаче рандомных чисел, содержащих от 1 до 5 знаков, состоящих из чисел от 1 до 12, так чтобы: За цифрой 1 могли следовать только цифры 4, 5, 7, 9, 10 За цифрой 2 - только 5, 6, 8, 10, 11 За цифрой 3 - только 6, 7, 9, 11, 12 За
Ответы (1)
Укажите виды циклов А) с заданным условием продолжения работы Б) с полным ветвлением В) с заданным числом повторений Г) с заданным условием окончания работы Д) разветвляющийся
Ответы (1)
Python:Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным, то выведите YES, иначе выведите NO.
Ответы (1)
Дракон имеет 3 головы: Сапфир с номером 1, Рубин с номером 2 и Изумруд с номером 3. Головы Дракона извергают пламя некоторой длины. Определить, какая из его голов извергает пламя наибольшей длины. Длина пламени определена в виде трёхзначного числа.
Ответы (1)
Для некоторого предприятия каждый второй год является "удачным" каждый в третий "прибыльным" каждый пятый "замечательным". Текущий год является "удачным", "прибыльным" и "замечательным".
Ответы (1)