Номера високосных годов делятся на 4, но не делятся на 100, или делятся на 400. В високосном году 366 дней, в невисокосном 365.
Год високосный, если N делится на 400 (остаток от деления N % 400 равен 0), или N делится на 4, но не на 100 (N % 4 равно 0, а N % 100 нет). Напишем выражение, которое принимает значение 1, если год високосный, и 0 если не високосный.
(400 - (N % 400)) // 400 равно 1, если N делится на 400, иначе 0 (100 - (N % 100)) // 100 равно 1, если N делится на 100, иначе 0 (4 - (N % 4)) // 4 равно 1, если N делится на 4, иначе 0
Осталось заметить, что выражение (400 - (N % 400)) // 400 - (100 - (N % 100)) // 100 + (4 - (N % 4)) // 4 подходит: если N не делится на 4, то все 3 слагаемых равны 0, если делится на 4, на не делится на 100, то равно 0 - 0 + 1 = 1, если делится на 100, но не на 400, то равно 0 - 1 + 1 = 0, если делится на 400, то 1 - 1 + 1 = 1.
Количество дней отличается от написанного выше на 365. ответ: 365 + (400 - (N % 400)) // 400 - (100 - (N % 100)) // 100 + (4 - (N % 4)) // 4
zaha98
19.09.2021
По условию здесь шифр Цезаря +7. Это значит, что при шифровании вместо каждой буквы писали другую, отдаленную от настоящей на 7 букв вперед по алфавиту. Значит при расшифровке надо сдвигаться, наоборот, на 7 букв назад, к началу алфавита. Здесь пронумерованный алфавит.
шифр Ц Т Ж Ф Я Л Щ № 24 20 8 22 33 13 27 № - 7 17 13 1 15 26 6 20 буква П Л А Н Ш Е Т
Год високосный, если N делится на 400 (остаток от деления N % 400 равен 0), или N делится на 4, но не на 100 (N % 4 равно 0, а N % 100 нет). Напишем выражение, которое принимает значение 1, если год високосный, и 0 если не високосный.
(400 - (N % 400)) // 400 равно 1, если N делится на 400, иначе 0
(100 - (N % 100)) // 100 равно 1, если N делится на 100, иначе 0
(4 - (N % 4)) // 4 равно 1, если N делится на 4, иначе 0
Осталось заметить, что выражение
(400 - (N % 400)) // 400 - (100 - (N % 100)) // 100 + (4 - (N % 4)) // 4
подходит: если N не делится на 4, то все 3 слагаемых равны 0, если делится на 4, на не делится на 100, то равно 0 - 0 + 1 = 1, если делится на 100, но не на 400, то равно 0 - 1 + 1 = 0, если делится на 400, то 1 - 1 + 1 = 1.
Количество дней отличается от написанного выше на 365.
ответ: 365 + (400 - (N % 400)) // 400 - (100 - (N % 100)) // 100 + (4 - (N % 4)) // 4