![]() |
Как вычеслить какой был день недели зная дату.
Люди помогите :help:
Мне как-то расказали как вычеслить какой был день недели зная дату(год, месяц и число) а я дурак забыл. Может кто знает ???? :help: |
А комп на что тебе? Кликни два раза мышой на часах и выбирай себе скоко душе угодно. С 1980 по 2099 годов календарь работает
|
Не, ну комп вещь хорошая, но например сказать какой был день 8 мая 1945 года он не может.
А есть вычесление каторое без проблем можно зделать в голове вот его то я и ищю. |
Вот тут есть формулы для вычисления в уме дня недели (если ты можешь оперировать большими цифрами..) ;)
_http://www.krotov.info/history/00/posnov/cherepnin44.html |
Большое Спасибо, но есть упращённая формула :help:
|
Если б была, то по телевизору не показывали бы людей, которые умеют вычислять дни недели в уме как какое-то чудо. Не очень давно опять про такого мальчика рассказывали. А вообще, есть таблица, которую если иметь под рукой - то вычисление дня недели займёт пару секунд.
|
Но я сам лично высчитывал в течении 2 минут и числа там не большие.
Так что есть такая формула!!! |
А тебе для каких целей?
Если в уме считать, то действительно таблицы есть. Если в прогу строить - то другое дело, там либо специальные функции есть, либо стандартный метод по вычислению числа прошедших дней с известной даты и дня недели |
Нашёл в нете вот такое:
Цитата:
|
Можно в Excel попробовать меняя формат ячейки :)
|
>Но как по ней считать? У меня ни фига не получилось!
Да нет все работает. Например сегодня. а = (14-11)/12=0 у = 2005-0=2005 м=11+12*0-2=9 д=(7000+(21+2005+501-20+5+23))/7=9535/7=1362+1/7 ну а 1-понедельник, так что вот. Если же имелось в виду, что "как это можно в уме просчитать", то в целом согласен не просто. Но здесь можно кое-что посокращать. Например 7000 тут лишнее, первые три строчки тоже обсчитывать не нужно. Вот что я на сокращал: д= (день + годС + годС/4 - годС/100 + год/400 + 2,59*м)мод7 где для февраля и января уменьшаем год на единицу, а месяц увеличиваем на 12, потом для всех месяцев: м=месяц-2 годС - сокращеный год. Вычитаем из год 700 пока можно. Опять же сегодня: годС=2005-700-700=605 д=(21+605+151-6+5+23)мод7=(799-777)мод7=22мод7=1 Вот это уже реально просчитать в голове. |
экий матерый человечище
Цитата:
да и арифметика в нижней строке вызывает вопросы Цитата:
|
>не понятно, что ты тут приравнял?
по формуле надо получить остаток (9535mod7) ну я его вот и получил - 1. >да и арифметика в нижней строке вызывает вопросы какие вопросы? То что я вместо "mod" писал "мод" смутило? Или не согласен с тем, что 799mod7=(799-777)mod7 ? Так это элементарно на калькуляторе проверяется в конце концов. Встречный вопрос: пробовал посчитать какой-нибудь день? Получилось? если нет пиши расклад, покажу где ошибка. |
| Часовой пояс GMT +4, время: 02:48. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.