Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.10.05;
Скачать: [xml.tar.bz2];

Вниз

День недели   Найти похожие ветки 

 
Дмитрий СС   (2014-02-27 17:01) [0]

Попалась мне статья Алгоритм_вычисления_дня_недели:
http://ru.wikibooks.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BD%D1%8F_%D0%BD%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8

Там Код:

function WhatDay(Year: Integer; Month: Integer; Day: Integer):integer;
var a,y,m: integer;
begin
a := (14 - Month) div 12;
y := year - a;
m := month + 12 * a - 2;
Result := (7000 + (day + y + y div 4 - y div 100 + y div 400 + (31 * m) div 12)) mod 7;
end;


Бросилось в глаза: (7000 + x) mod 7.

Какой смысл прибавлять 7000, если на результат не влияет?


 
clickmaker ©   (2014-02-27 17:06) [1]

а откуда магическое число 14?


 
clickmaker ©   (2014-02-27 17:08) [2]

очередной велосипед с квадратными колесами? есть же DayOfTheWeek


 
Inovet ©   (2014-02-27 17:15) [3]

Удалено модератором


 
Дмитрий СС   (2014-02-27 19:45) [4]


> а откуда магическое число 14?


Все с той же ссылки. Там несколько примеров на разных языках. Вот меня и интересует зачем это писать.


 
antonn ©   (2014-02-27 19:50) [5]


> а откуда магическое число 14?

видимо такой финт для выделения февраля и "високосности"


 
MBo ©   (2014-02-27 21:18) [6]

>Какой смысл прибавлять 7000, если на результат не влияет?
От отрицательных чисел страховка


 
Дмитрий СС   (2014-02-28 01:54) [7]


> От отрицательных чисел страховка

Но в данном случае второе слагаемое не может быть отрицательным. (если не принимать в расчет отрицательные года, конечно, но при достаточно маленьком годе и 7000 не спасет)


 
MBo ©   (2014-02-28 08:32) [8]

От сотворения мира, наверное, пляшут :)
Других причин вводить 7000 я не вижу.


 
clickmaker ©   (2014-02-28 08:42) [9]

> Других причин вводить 7000 я не вижу

возможно, автор - фанат Валерия Сюткина


 
Inovet ©   (2014-02-28 09:59) [10]

> [9] clickmaker ©   (28.02.14 08:42)
> возможно, автор - фанат Валерия Сюткина

Это что там? Посмотрел - действительно 7000, это для размера впихнуто, подходят также 5000 и 6000, видимо максимальное взято. Можно было более реальное 11500 одиннадцать пятьсот, и не уточнять "над землёй", и так дальше понятно. И в целое влазит, даже в короткое знаковое.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2014.10.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.002 c
2-1382614616
qwerty123
2013-10-24 15:36
2014.10.05
ListView


8-1234686127
Зашибис
2009-02-15 11:22
2014.10.05
Потоковое видео с IP-камеры AVIOSYS 9060A-MP на форме D6


15-1393262712
Дмитрий СС
2014-02-24 21:25
2014.10.05
Trial


8-1235415285
Кошкин
2009-02-23 21:54
2014.10.05
Модель в редакторе и в программе


11-1255007559
Валера
2009-10-08 17:12
2014.10.05
Шрифт size





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский