![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.04.2009
Сообщений: 9
|
![]()
Помогите пожалуйста решить задачу или хотя бы подкиньте идейку как решать.
Вот условие (задача на записи): Написать функцию ДН( d ) для определения дня недели, на который приходится дата d (учесть, что 1 января 1-го года нашей эры было понедельником) |
![]() |
![]() |
![]() |
#2 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
![]()
Нужно посчитать количество дней между 01.01.01 и этой датой. И взять остаток от 7. Складывается количество дней между началом первого года и началом указанного года, количество дней между началом указанного года и началом указанного месяца указанного года, наконец, указанное число.
Количество дней между началом первого года и указанным — это примерно (year - 1) * 365 + (year - 1) div 4 - (year - 1) div 100 + (year - 1) div 400 Ну остальное просто. Кстати, через каждые 2000 лет календарь повторяется, так что можно сделать бесконечный календарь, отсекая все цифры, кроме 4 последних. |
![]() |
![]() |
![]() |
#3 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
![]()
Нужно посчитать количество дней между 01.01.01 и этой датой. И взять остаток от 7. Складывается количество дней между началом первого года и началом указанного года, количество дней между началом указанного года и началом указанного месяца указанного года, наконец, указанное число.
Количество дней между началом первого года и указанным — это примерно (year - 1) * 365 + (year - 1) div 4 - (year - 1) div 100 + (year - 1) div 400 Ну остальное просто. Кстати, через каждые 2000 лет календарь повторяется, так что можно сделать бесконечный календарь, отсекая все цифры, кроме 4 последних. |
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
![]() с другой: Цитата:
я бы всё таки считал дни/года в цикле, учитывая високосные года (в современной формулировке, что считать високосным годом, а что - нет ![]() |
||
![]() |
![]() |
![]() |
#5 |
Регистрация: 09.04.2009
Сообщений: 9
|
![]()
Написал код через циклы, но не получается учитывать високосные годы
Код:
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 09.04.2009
Сообщений: 9
|
![]()
Но с циклами есть минус при больших значениях лет, программа виснет((
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 09.04.2009
Сообщений: 9
|
![]()
Спабо всем за помощь сделал без циклов, все работает!!!!!!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ОC посетителей форума и наших сайтов. | Alar | Операционные системы общие вопросы | 33 | 31.10.2012 01:22 |
Календарь | ruavia3 | Microsoft Office Excel | 6 | 16.04.2009 15:32 |
календарь в делфи | BAZA | Общие вопросы Delphi | 15 | 31.01.2009 14:55 |
Прога-календарь | Кай | Софт | 3 | 21.08.2008 13:44 |
Истоки технологии AdSense в Brown University Santa Monica, а что разрабатывают в наших университетах? | Alar | Свободное общение | 0 | 10.01.2008 18:20 |