Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.10.05;
Скачать: CL | DM;

Вниз

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

 
Дмитрий СС   (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;
Скачать: CL | DM;

Наверх




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


2-1382614616
qwerty123
2013-10-24 15:36
2014.10.05
ListView


15-1374125573
megavoid
2013-07-18 09:32
2014.10.05
Меня забанил Microsoft CDN?


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


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