Определить, когда в последний раз день рождения Н. Некрасова выпадал на субботу - C (СИ)

Узнай цену своей работы

Формулировка задачи:

М. Некрасов родился 10 декабря 1821 г. Когда в последний раз день рождения М. Некрасов выпадал на субботу, если известны текущая дата d.m.g? Помогите написать код, не могу понять как выполнить это задание.

Решение задачи: «Определить, когда в последний раз день рождения Н. Некрасова выпадал на субботу»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
/*Н.А. Некрасов родился 10 декабря 1821 г. Когда в последний раз день рождения Н.А. Некрасова
выпадал на субботу,если известны текущая дата 20 декабря 2015г?*/
int main()
{
    int y, n = 0;//y-годы,n-счетчик смещений
    for(y = 2015; y > 2000; --y){//от нынешнего года смещаемся по одному назад
        if(y % 4 == 0)//если год был високосный
            ++n;      //прибавляем еще одно смещение
        if(n == 5)    //если количество смещений достигло 5
            printf("10 December %d\n", y); //печатаем искомую дату
        ++n;//если еще не достигло 5-ти,прибавляем 1
    }
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и математическими операциями.
  2. Определение переменной y для хранения текущего года и переменной n для подсчета количества смещений.
  3. Начало цикла, который будет выполняться, пока текущий год больше 2000.
  4. Проверка, является ли текущий год високосным (делится на 4 без остатка).
  5. Если год високосный, увеличивается значение переменной n на 1.
  6. Проверка, достигло ли количество смещений 5.
  7. Если достигло, выводится искомая дата (10 декабря).
  8. Увеличение значения переменной n на 1 для последующей проверки.
  9. Цикл продолжается до тех пор, пока текущий год больше 2000.
  10. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы