Haftaning kunini aniqlash - Determination of the day of the week

The haftaning kunini belgilash har qanday sana uchun turli xil bilan amalga oshirilishi mumkin algoritmlar. Bunga qo'chimcha, abadiy taqvimlar foydalanuvchi tomonidan hech qanday hisob-kitoblarni talab qilmaydi va asosan qidirish jadvallaridir hafta kuni kimdir tug'ilgan yoki ma'lum bir voqea sodir bo'lgan.

Tushunchalar

Raqamli hisoblashda haftaning kunlari hafta ichidagi raqamlar sifatida ifodalanadi. Agar dushanba haftaning birinchi kuni bo'lsa, odatdagidek dushanbadan yakshanbagacha kunlar 1 dan 7 gacha kodlanishi mumkin. ISO 8601. 7 bilan belgilangan kun, shuningdek, hisoblanishi mumkin 0dasturini qo'llash orqali arifmetik modulo 7, bo'linishdan keyin sonning qoldig'ini 7 ga bo'linadi. Shunday qilib, 7 raqami 0, 8 ga 1, 9 ga 2, 18 ga 4 va hokazo sifatida qaraladi. Agar yakshanba 1-kun deb hisoblansa, 7 kundan keyin (ya'ni 8-kun) ham yakshanba, 18-kun esa 4-kun bilan bir xil, bu chorshanba, chunki bu yakshanbadan uch kun o'tgach tushadi.[1]

StandartDushanbaSeshanbaChorshanbaPayshanbaJumaShanbayakshanbaFoydalanish misollari
ISO 86011234567% _ISODOWI%,% @ ISODOWI []% (4DOS );[2] DAYOFWEEK () (HP Prime )[3]
0123456
2345671% HAFTA KUNI% (NetWare, DR-DOS[4]); % _DOWI%,% @ DOWI []% (4DOS )[2]
1234560HP moliyaviy kalkulyatorlari

Haftaning kunini hisoblashning deyarli barcha usullarining asosiy yondashuvi "langar sanasi" dan boshlanadi: ma'lum juftlik (masalan, 1800 yil 1-yanvar, chorshanba), ma'lum kun orasidagi kunlar sonini aniqlash. va siz aniqlamoqchi bo'lgan kun va 7-sonli arifmetik modul yordamida haftaning yangi raqamli kunini topish uchun.

Bitta standart yondashuv - ma'lum bir asr haftasining birinchi kunining qiymatini izlash (yoki ma'lum qoidadan foydalanib) hisoblash, oy uchun tuzatishni qidirish (yoki hisoblash, muvofiqlik usuli yordamida), asrning boshidan buyon sakrash yillari soni va keyin ularni asr boshidan beri o'tgan yillar soni va oyning kun soni bilan birga qo'shib qo'ying. Oxir-oqibat, bir kishi kunni hisoblash bilan yakunlanadi, unga sana haftasining kunini aniqlash uchun 7-modul qo'llaniladi.[5]

Ba'zi usullar birinchi navbatda barcha qo'shimchalarni bajaradi, so'ngra ettitani chiqarib tashlaydi, boshqalari har qadamda, xuddi bo'lgani kabi, chiqarib tashlaydi Lyuis Kerolning usuli. Qanday bo'lmasin, har ikkalasi ham hayotga mos keladi: birinchisi kalkulyatorlar va kompyuter dasturlari uchun, ikkinchisi aqliy hisoblash uchun (ozgina mashq qilish bilan boshidagi barcha hisob-kitoblarni bajarish mumkin). Bu erda keltirilgan usullarning hech biri masofani tekshirishni amalga oshirmaydi, shuning uchun asossiz sanalar noto'g'ri natijalarga olib keladi.

Tegishli kunlar

Bir oyning har ettinchi kuni oldingi nom bilan bir xil nomga ega:

Kuni
oy
d
00 07 14 21 280
01 08 15 22 291
02 09 16 23 302
03 10 17 24 313
04 11 18 254
05 12 19 265
06 13 20 276

Tegishli oylar

"Tegishli oylar" - bu kalendar yil ichida haftaning xuddi shu kunidan boshlanadigan oylar. Masalan, sentyabr va dekabr oylari mos keladi, chunki 1 sentyabr 1 dekabr bilan bir kunga to'g'ri keladi (chunki bu ikki sana o'rtasida aniq o'n uch hafta bor). Oylar faqat ularning birinchi kunlari orasidagi kunlar soni 7 ga bo'linadigan bo'lsa yoki boshqacha qilib aytganda, ularning birinchi kunlari bir necha hafta oralig'ida bo'lsa, mos kelishi mumkin. Masalan, a umumiy yil mart oyiga to'g'ri keladi, chunki fevral oyi 28 kundan iborat, bu raqam 7, 28 kunga to'g'ri to'rt hafta pog'ona yili, Yanvar va Fevral oylari odatdagi yilga nisbatan har xil oylarga to'g'ri keladi, chunki 29 fevralni qo'shish har bir keyingi oy bir kundan keyin boshlanishini anglatadi.

Tegishli oylar quyida ko'rsatilganidek.

Umumiy yillar

  • Yanvar va oktyabr.
  • Fevral, mart va noyabr.
  • Aprel va iyul.
  • Avgust oyiga to'g'ri keladigan oy yo'q.

Leap yillar

  • Yanvar, aprel va iyul oylari.
  • Fevral va avgust.
  • Mart va noyabr.
  • Hech bir oy oktyabrga to'g'ri kelmaydi.

Barcha yillar

  • Sentabr va dekabr.
  • Hech bir oy may yoki iyun oylariga to'g'ri kelmaydi.

Quyidagi oylar jadvalida tegishli oylar bir xil raqamga ega, bu to'g'ridan-to'g'ri ta'rifdan kelib chiqadi.

Umumiy yillarLeap yillarm
Yanvar oktyabrOktyabr0
May1
AvgustFevral avgust2
Fevral NoyabrNoyabr3
Iyun4
Sentyabr5
Aprel iyulYanvar iyul6

Tegishli yillar

Yil boshlanishi mumkin bo'lgan ettita kun bor, va pog'ona yillari 29-fevraldan keyingi haftaning kunini o'zgartiradi. Bu shuni anglatadiki, yiliga 14 ta konfiguratsiya mavjud. Barcha konfiguratsiyalarga havola qilish mumkin dominik harf Ammo 29 fevralda unga ajratilgan bironta xat bo'lmaganligi sababli, kabisa yili ikki dominik harfga ega, biri yanvar va fevral oylari, ikkinchisi (alifbo tartibida bir qadam orqaga) martdan dekabrgacha.

Masalan, 2019 yil umumiy yil seshanba kunidan boshlanadi, bu umuman 2013 yilga to'g'ri kelganligini ko'rsatmoqda kalendar yili. Boshqa tomondan, 2020 yil a sakrash yili chorshanba kunidan boshlanadi umuman olganda, 1992 yil kalendar yiliga to'g'ri keladi; xususan, uning 29 oyidan tashqari birinchi 2 oyi 2014 yil kalendar yiliga to'g'ri keladi, 2020 yil sakrash kuni tufayli keyingi 10 oyi 2015 kalendar yiliga to'g'ri keladi.

Bundan tashqari:

  • 2005 yil a shanba kuni boshlanadigan umumiy yil: uning birinchi 2 oyi, 29 fevraldan tashqari, 2000 kalendar yiliga to'g'ri keldi va keyingi 10 oyi 1994 kalendar yiliga to'g'ri keldi. Albatta, 1994 yil ham, 2005 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2006 yil a yakshanba kunidan boshlab umumiy yil: uning dastlabki 2 oyi 1995 yil kalendar yiliga, keyingi 10 oyi 2000 kalendar yiliga to'g'ri keldi. Albatta, 1995 yil ham, 2006 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2007 yil a dushanbadan boshlanadigan umumiy yil: yil umuman 2001 kalendar yiliga to'g'ri keldi.
  • 2008 yil a sakrash yili seshanba kunidan boshlanadi: 29 fevraldan tashqari birinchi 2 oyi 2002 yil kalendar yiliga, keyingi 10 oyi 2003 kalendar yiliga to'g'ri keldi. Umuman yil 1980 kalendar yiliga to'g'ri keladi. 29 fevral juma edi.
  • 2009 yil a Payshanba kuni boshlanadigan umumiy yil: uning dastlabki 2 oyi, 29 fevraldan tashqari, 2004 yil kalendar yiliga to'g'ri keldi va keyingi 10 oyi 1998 kalendar yiliga to'g'ri keldi. Albatta, na 1998, na 2009 yillar sakrash yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2010 yil a umumiy yil juma kunidan boshlanadi: uning dastlabki 2 oyi 1999 yil kalendar yiliga, keyingi 10 oyi 2004 kalendar yiliga to'g'ri keldi. Albatta, 1999 yil ham, 2010 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2011 yil a shanba kuni boshlanadigan umumiy yil: yil umuman 2005 kalendar yiliga to'g'ri keldi.
  • 2012 yil a sakrash yili yakshanbadan boshlanadi: 29 fevraldan tashqari birinchi 2 oyi 2006 yil kalendar yiliga to'g'ri keldi va keyingi 10 oyi 2007 kalendar yiliga to'g'ri keldi. Umuman yil 1984 yil kalendar yiliga to'g'ri keladi. 29 fevral chorshanba edi.
  • 2013 yil a umumiy yil seshanba kunidan boshlanadi: uning dastlabki 2 oyi, 29 fevraldan tashqari, 2008 yil kalendar yiliga to'g'ri keldi va keyingi 10 oyi 2002 kalendar yiliga to'g'ri keldi. Albatta, 2002 yil ham, 2013 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2014 yil a umumiy yil chorshanba kuni boshlanadi: uning dastlabki 2 oyi 2003 yil kalendar yiliga, keyingi 10 oyi 2008 kalendar yiliga to'g'ri keldi. Albatta, 2003 yil ham, 2014 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2015 yil a Payshanba kuni boshlanadigan umumiy yil: yil umuman 2009 yil kalendar yiliga to'g'ri keldi.
  • 2016 yil a sakrash yili juma kunidan boshlanadi: 29 fevraldan tashqari birinchi 2 oyi 2010 yil kalendar yiliga to'g'ri keldi va keyingi 10 oyi 2011 kalendar yiliga to'g'ri keldi. Umuman yil 1988 yil kalendar yiliga to'g'ri keladi. 29 fevral dushanba edi.
  • 2017 yil a yakshanba kunidan boshlab umumiy yil: uning dastlabki 2 oyi, 29 fevraldan tashqari, 2012 yil kalendar yiliga to'g'ri keldi va keyingi 10 oyi 2006 kalendar yiliga to'g'ri keldi. Albatta, 2006 yil ham, 2017 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2018 yil a dushanbadan boshlanadigan umumiy yil: uning dastlabki 2 oyi 2007 yil kalendar yiliga, keyingi 10 oyi 2012 kalendar yiliga to'g'ri keldi. Albatta, na 2007, na 2018 yil sakrash yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2019 yil a umumiy yil seshanba kunidan boshlanadi: yil umuman 2013 kalendar yiliga to'g'ri keldi.
  • 2020 yil a sakrash yili chorshanba kunidan boshlanadi: uning birinchi 2 oyi, 29 fevraldan tashqari, 2014 yil kalendar yiliga to'g'ri keladi va keyingi 10 oyi 2015 kalendar yiliga to'g'ri keladi. Umuman yil 1992 yil kalendar yiliga to'g'ri keladi. 29 fevral shanba bo'ladi.
  • 2021 yil a bo'ladi umumiy yil juma kunidan boshlanadi: uning dastlabki 2 oyi, 29 fevraldan tashqari, 2016 yil kalendar yiliga to'g'ri keladi va keyingi 10 oyi 2010 kalendar yiliga to'g'ri keladi. Albatta, 2010 yil ham, 2021 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2022 yil a bo'ladi shanba kuni boshlanadigan umumiy yil: uning dastlabki 2 oyi 2011 yil kalendar yiliga to'g'ri keladi va keyingi 10 oyi 2016 kalendar yiliga to'g'ri keladi. Albatta, 2011 yil ham, 2022 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay mos kelmaydi.
  • 2023 yil a bo'ladi yakshanba kunidan boshlab umumiy yil: yil umuman 2017 kalendar yiliga to'g'ri keladi.
  • 2024 yil a bo'ladi sakrash yili dushanbadan boshlanadi: uning birinchi 2 oyi, 29 fevraldan tashqari, 2018 yil kalendar yiliga to'g'ri keladi va keyingi 10 oyi 2019 kalendar yiliga to'g'ri keladi. Umuman olganda 1996 yil kalendar yiliga to'g'ri keladi. 29 fevral payshanba bo'ladi.
  • 2025 yil a bo'ladi umumiy yil chorshanba kuni boshlanadi: uning dastlabki ikki oyi 2020 yil kalendar yiliga to'g'ri keladi va keyingi 10 oyi 2014 kalendar yiliga to'g'ri keladi. Albatta, 2014 yil ham, 2025 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2026 yil a Payshanba kuni boshlanadigan umumiy yil: uning dastlabki ikki oyi 2015 yil kalendar yiliga, keyingi 10 oyi 2020 kalendar yiliga to'g'ri keladi. Albatta, na 2015 yil, na 2026 yil pog'ona yili emasligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2027 yil a umumiy yil juma kunidan boshlanadi: yil umuman 2021 kalendar yiliga to'g'ri keladi.
  • 2028 yil a shanba kuni boshlanadigan sakrash yili: 29 fevraldan tashqari dastlabki ikki oy 2022 kalendar yiliga to'g'ri keladi va keyingi 10 oy 2023 kalendar yiliga to'g'ri keladi. Umuman yil 2000 kalendar yiliga to'g'ri keladi. 29 fevral seshanba kuni bo'ladi. Yon eslatma sifatida shanba kunidan boshlangan sakrash yillari bu sakrash yilining yagona turi bo'lib, asrning oxiri bu yil boshlanishi mumkin.
  • 2029 yil a dushanbadan boshlanadigan umumiy yil: uning dastlabki ikki oyi 2024 kalendar yiliga to'g'ri keladi va keyingi 10 oyi 2018 kalendar yiliga to'g'ri keladi. Albatta, na 2018 yil, na 2029 yil ham pog'ona yili bo'lmaganligi sababli, bu ikki yil butunlay to'g'ri kelmaydi.
  • 2030 yil a bo'ladi umumiy yil seshanba kunidan boshlanadi: uning dastlabki ikki oyi 2019 yil kalendar yiliga to'g'ri keladi va keyingi 10 oyi 2024 kalendar yiliga to'g'ri keladi. Albatta, na 2019 va na 2030 yillar bu yil emas, chunki bu ikki yil butunlay mos kelmaydi.
  • 2031 yil a umumiy yil chorshanba kuni boshlanadi: yil umuman 2025 kalendar yiliga to'g'ri keladi.
  • 2032 yil a sakrash yili payshanba kunidan boshlanadi: uning dastlabki ikki oyi 2026 kalendar yiliga va keyingi 10 oyi 2027 kalendar yiliga to'g'ri keladi. Umuman yil 2004 yil kalendar yiliga to'g'ri keladi. 29 fevral yakshanba bo'ladi.

Tafsilotlar uchun quyidagi jadvalga qarang.

Yil
asr modasi 28
y
00 06 12 17 230
01 07 12 18 241
02 08 13 19 242
03 08 14 20 253
04 09 15 20 264
04 10 16 21 275
05 11 16 22 006

Izohlar:

  • Qora rang Umumiy yilning barcha oylarini anglatadi
  • Qizil Leap yilning dastlabki 2 oyini anglatadi
  • Moviy Leap yilning so'nggi 10 oyini anglatadi

Tegishli asrlar

Julian asr
mod 700
Gregorian asri
mod 400[6]
Kun
400: 1100 1800 ...300: 1500 1900 ...Quyosh
300: 1000 1700 ...Dushanba
200 0900 1600 ...200: 1800 2200 ...Seshanba
100 0800 1500 ...Chorshanba
700: 1400 2100 ...100: 1700 2100 ...Psh[7]
600: 1300 2000 ...Fri
500: 1200 1900 ...000: 1600 2000 ...Sat

"000 yil" odatdagi xronologiyada miloddan avvalgi 1 yil (milodiy 1 dan oldin). Yilda astronomik yillarni raqamlash Miloddan avvalgi 1-milodiy va Milodiy 1 o'rtasida 0 yil keladi proleptik Julian taqvimi, (ya'ni Julian taqvimi, agar u boshidanoq to'g'ri ishlatilgan bo'lsa edi), miloddan avvalgi 1 payshanba kuni boshlanadi. In proleptik Gregorian taqvimi, (1582 yilgacha o'ylab topilmagani uchun shunday nomlangan) miloddan avvalgi 1-yil shanba kuni boshlanadi.

Haftaning kunini hisoblash uchun jadval usullari

To'liq jadval: Julian va Gregorian kalendarlari

Julian uchun 1300 yilgacha va 1999 yildan keyin jadvalda 700 yilga teng bo'lgan yil ishlatilishi kerak. 2299 yildan keyin Gregorian sanalari uchun jadvaldagi 400 yilga teng bo'lgan yil ishlatilishi kerak. Qadriyatlar "r0"orqali"r6"yuzlar qiymati mos ravishda 7 va 4 ga bo'linib, ketma-ket ikkala yo'nalishda qanday kengayishini ko'rsatadigan qoldiqni ko'rsating. Har ikkala Julian va Gregorian qiymatlari qulaylik uchun 1500-1999 da ko'rsatilgan. Jasur raqamlar (masalan, 04) o'tish yilini bildiradi. Agar bir yil 00 bilan tugasa va uning yuzliklari qalin harflar bilan yozilsa, bu pog'ona yili hisoblanadi. Shunday qilib, 19-yil 1900 yil Gregorian sakrash yili emasligini ko'rsatadi, (lekin 19 Julian ustunida buni bildiradi bu Julian kabi, hamma Julian singari pog'ona yili x00 yil). 20 2000 yil sakrash yili ekanligini bildiradi. Foydalanish Yanvar va Fevral faqat pog'ona yillarida.

Yuz yilQolgan yil raqamlariOyD.
o
V
#
Julian
(r ÷ 7)
Gregorian
(r ÷ 4)
r5 1916 20 r000 06   17 2328 34   45 5156 62   73 7984 90YanvarOktyabrSa0
r4 1815 19 r301 07 12 1829 35 40 4657 63 68 7485 91 96MaySu1
r3 17
Yo'q
02   13 19 2430   41 47 5258   69 75 8086   97FevralAvgustM2
r2 1618 22 r203 08 14   2531 36 42   5359 64 70   8187 92 98FevralMarNoyabrTu3
r1 15
Yo'q
  09 15 20 26  37 43 48 54  65 71 76 82  93 99IyunV4
r0 1417 21 r104 10   21 2732 38   49 5560 66   77 8388 94SentyabrDekabrTh5
r6 13
Yo'q
05 11 16 2233 39 44 5061 67 72 7889 95YanvarAprelIyulF6

Haftaning kunini belgilash uchun (2000 yil 1 yanvar, shanba)

  • oyning kuni: 1 ~ 31 (1)
  • oy: (6)
  • yil: (0)
  • Gregorian taqvimi uchun asr 4-modasi va Julian taqvimi uchun 7-mod (0).
  • 1 + 6 + 0 + 0 = 7 qo'shib. 7 ga bo'linishda 0 qolgan qismi qoladi, shuning uchun haftaning kuni shanba.

Formula w = (d + m + y + c) mod 7.

Yulian taqvimi qayta ko'rib chiqildi

Qayta ko'rib chiqilgan Julian va Gregorian kalendarlaridagi sana (va shu sababli haftaning kuni) 1923 yil 14 oktyabrdan 2800 yilgacha 2800 fevralgacha bo'lgan davrda bir xil bo'lganligini va katta yillar davomida 6300 yoki undan ko'pini olib tashlash mumkinligini unutmang. stol ichida yoki unga yaqin bo'lgan yilga etishish uchun boshlanadi.

Jadvaldan foydalangan holda har qanday yil uchun biron bir sananing ish kunini qidirish uchun yilni 100 dan chiqarib oling, farqni 100 ga bo'ling, natijada olingan qismni (chiqarib tashlash), ettiga ko'paytiring va mahsulotni to'qqizga bo'ling. Miqdorga e'tibor bering (kasrlarni chiqarib tashlash). Julian yili bilan jadvalga kiring va yakuniy bo'linish oldidan 50 ni qo'shing va yuqorida qayd etilgan miqdorni olib tashlang.

Misol: 8315 yil 27 yanvar haftaning kuni qaysi?

8315-6300 = 2015, 2015-100 = 1915, 1915/100 = 19 qoldiq 15, 19x7 = 133, 133/9 = 14 qoldiq 7. 2015 yil 1315 yildan 700 yil oldinda, shuning uchun 1315 ishlatiladi. Jadvaldan: yuzlab (13) uchun: 6. Qolgan raqamlar uchun (15): 4. Oy uchun (yanvar): 0. Sana (27) uchun: 27. 6 + 4 + 0 + 27 + 50-14 = 73. 73/7 = 10 qoldiq 3. Hafta kuni = Seshanba.

Dominik maktub

Topish uchun Dominik maktub, 1 yanvar yoki 1 oktyabr uchun haftaning kunini hisoblang. Agar u yakshanba bo'lsa, yakshanba harfi A, shanba B bo'lsa va shunga o'xshash tarzda hafta davomida orqaga va alifbosi orqali dushanba kunigacha G ga to'g'ri keladi.

Qabul qilish yillarida ikkita yakshanba xati bor, shuning uchun yanvar va fevral oylari uchun haftaning kunini 1 yanvarga, martdan dekabrgacha esa haftaning kunini 1 oktyabrga hisoblang.

Qabul qilingan yillar - bu quyidagi istisnolardan tashqari to'liq to'rtga bo'linadigan yillardir:

Gregorian taqvimida - to'liq 100 ga bo'linadigan barcha yillar (aniq 400 ga bo'linadiganlardan tashqari).

Qayta ko'rib chiqilgan Julian taqvimida - to'liq 100 ga bo'linadigan barcha yillar (900 ga bo'linishda 200 yoki 600 qoldiq beradiganlardan tashqari).

"Qiyomat"

Bu rekreatsiya matematikasining artefaktidir. Qarang qiyomat kuni qoidasi tushuntirish uchun.

Natijani tekshiring

Hech qanday hisob-kitobsiz haftaning kunini topish uchun ushbu jadvaldan foydalaning.

IndeksDushanba
A
Seshanba
B
Chorshanba
C
Psh
D.
Fri
E
Sat
F
Quyosh
G
Doimiy Gregorian va Julian taqvimi
Foydalanish Yanvar va Fevral uchun pog'ona yillari
Yil qatoridagi sana harfi asr satridagi harf uchun

Barcha C kunlari qiyomat kunidir

Julian
asr
Gregorian
asr
Sana01
08
15
22
29
02
09
16
23
30
03
10
17
24
31
04
11
18
25

05
12
19
26

06
13
20
27

07
14
21
28

12 1916 20AprelIyulYanvarGABCD.EF010712182935404657636874859196
13 20SentyabrDekabrFGABCD.E0213192430414752586975808697
14 2117 21IyunEFGABCD.030814253136425359647081879298
15 22FevralMarNoyabrD.EFGABC0915202637434854657176829399
16 2318 22AvgustFevralCD.EFGAB0410212732384955606677838894
17 24MayBCD.EFGA0511162233394450616772788995
18 2519 23YanvarOktyabrABCD.EFG0617232834455156627379849000
[Yil / 100]Gregorian
asr
20
16
21
17
22
18
23
19
Yil 100
Julian
asr
19
12
20
13
21
14
22
15
23
16
24
17
25
18

Misollar:

  • Umumiy usul uchun
1893 yil 26-dekabr (GD)

Dekabr qatori F va 26 ustunda E, shuning uchun sana harfi C qatorida joylashgan F va ustun E. 93 (yil mod 100) qatorda D. (yil qatori) va yil satridagi S harfi ustunda joylashgan G. 18 ([Gregorian asri ustunida [yil / 100]) qatorda C (asr qatori) va asr satri va ustunidagi harf G B, shuning uchun haftaning kuni seshanba.

13 oktyabr 1307 (JD)

13 oktyabr - F kun. Yil qatoridagi F harfi (07) ustunda joylashgan G. Asr satridagi xat (13) va ustun G E, shuning uchun haftaning kuni juma.

2000 yil 1-yanvar (GD)

1 yanvar yil qatoriga G, G ga to'g'ri keladi (00) asr qatoridagi F ga to'g'ri keladi (20) va F shanba kuniga to'g'ri keladi.

Usul uchun sodda formulalar: "Sana harfi (G), (G) harfi yil qatorida (00) asr qatoridagi (F) harfi uchun (20) va kun uchun (F) harfi ish kuni (shanba) bo'ladi ".

Yakshanba xati usuli

Yilning har bir kuni (29 fevraldan tashqari) unga ABCDEFG takrorlanadigan ketma-ketlikda ajratilgan xatga ega. Seriya 1 yanvarda A bilan boshlanadi va 31 dekabrda yana A davom etadi. Yakshanba xati yilning barcha yakshanba kunlariga to'g'ri kelmaydigan xat. 29 fevralda hech qanday xat bo'lmaganligi sababli, bu martdan dekabrgacha bo'lgan yakshanba xati yanvar va fevral oylariga nisbatan ketma-ketlikda bir qadam orqaga qaytishni anglatadi. Har qanday sana uchun xat "Lotin kvadrati" ning chap tomonidagi oy (qora rangda) joylashgan satr "Lotin kvadrati" ustidagi sana joylashgan ustunga to'g'ri keladigan joyda topiladi. Yakshanba xati asrni o'z ichiga olgan ustun ("Lotin kvadrati" ostidagi) "Lotin maydoni" ning o'ng tomonidagi yilning so'nggi ikki raqamidan iborat qatorga to'g'ri keladigan joyda topiladi. O'tish davri uchun yakshanba kuni yozilgan xat mart-dekabr oylariga to'g'ri keladi.

Masalan, 2020 yil 16-iyun ish kunini topish uchun:

"20" ustuni "D" da "20" qatoriga to'g'ri keladi. "Iyun" qatori "F" da "16" ustuniga to'g'ri keladi. F $ D $ dan ikkita harf bo'lgani kabi, ish kuni ham yakshanbadan, ya'ni seshanbadan ikki kunga to'g'ri keladi.

Matematik algoritmlar

Gauss algoritmi

Astronomik jadvallar to'plamidagi qo'lda yozilgan yozuvda, Karl Fridrix Gauss har qanday yilning 1 yanvariga haftaning kunini hisoblash uslubini tavsifladi.[8] U hech qachon nashr etmagan. Nihoyat, 1927 yilda uning to'plangan asarlariga kiritilgan.[9]

Gauss usuli Gregoryen taqvimiga taalluqli edi. U yakshanba kunidan boshlab ish kunlarini 0 dan 6 gacha sanadi. U quyidagi operatsiyani aniqladi: Yilning 1-yanvar kuni ish kuni A bu[8]

yoki

undan Julian taqvimi uchun usul olinishi mumkin

yoki

qayerda bo'ladi qoldiq bo'linishidan keyin y tomonidan m,[9] yoki y modul mva Y + 100C = A.

2000 yil uchun, A - 1 = 1999, Y - 1 = 99 va C = 19, 1 yanvar ish kuni

Yilning oxirgi kunidagi ish kuni A - Yilning 1 yoki 0 yanvar kunlari A bu

Yil sonida 0 (umumiy yil) yoki 1 (sakrash yil) yanvar kunlari A bu

Ixtiyoriy sananing hafta kunini aniqlash uchun quyidagi qidiruv jadvalidan foydalanamiz.

Oylar11
Yanvar
12
Fevral
1
Mar
2
Aprel
3
May
4
Iyun
5
Iyul
6
Avgust
7
Sentyabr
8
Oktyabr
9
Noyabr
10
Dekabr
M
Umumiy yillar033614625035m
Leap yillar4025036146
Algoritm

Izoh: agar minus 1 bo'lsa M 11 yoki 12 ga teng va agar 1 bo'lsa M bir pog'ona yilida 11 dan kam.

Yilning har qanday kuni uchun haftaning kuni A raqamidir

yoki

qayerda D. oyning kuni va A - 1 yanvar yoki fevral uchun.

Uchun ish kunlari 1777 yil 30 aprel va 1855 yil 23 fevral bor

va

Ushbu formulani shuningdek, Kraitchik va Shverdtfeger tomonidan haftaning istalgan kunini hisoblashning grafik va jadval usullariga aylantirildi.[9][10]

Turli xil o'zgarish

Yuqoridagi algoritmning yana bir o'zgarishi xuddi shu kabi qidirish jadvallarisiz ishlaydi. Biroz kamchilik - bu odatiy bo'lmagan oy va yil sanash konvensiyasi. Formulasi:

qayerda

  • Y yanvar yoki fevral oylari uchun minus 1 yil, qolgan oylar uchun yil
  • y Y ning oxirgi 2 ta raqami
  • v Y ning birinchi 2 ta raqamidir
  • d oyning kuni (1 dan 31 gacha)
  • m o'zgargan oy (mart = 1, ..., fevral = 12)
  • w haftaning kuni (0 = yakshanba, ..., 6 = shanba). Agar w salbiy bo'lsa, unga 7 ni qo'shishingiz kerak.

Masalan, 2000 yil 1-yanvar. (Yil - 1-yanvar uchun)

Izoh: Birinchisi faqat 00 sakrash yiliga, ikkinchisi esa istalgan 00 yilga mo'ljallangan.

Atama oylarning qiymatlarini beradi: m

Oylarm
Yanvar0
fevral3
Mart2
Aprel5
May0
Iyun3
Iyul5
Avgust1
Sentyabr4
Oktyabr6
Noyabr2
Dekabr4

Atama yillar qiymatlarini beradi: y

y tartib 28y
01 07 12 18 --1
02-13 19 242
03 08 14-253
-- 09 15 20 264
04 10-21 275
05 11 16 22 --6
06-17 23 000

Atama asrlar qadriyatlarini beradi: v

v mod 4v
15
23
31
00

Endi umumiy formuladan: ; 2000 yil 1-yanvarni quyidagicha qayta hisoblash mumkin:

Zeller algoritmi

Zeller algoritmida oylar 3 martdan 14 fevralgacha 14 sanaladi. Yil mart oyida boshlanadi deb taxmin qilinadi; bu, masalan, 1995 yil yanvarni 1994 yil 13 oy deb hisoblash kerak degan ma'noni anglatadi.[11] Gregorian taqvimining formulasi quyidagicha

qayerda

  • Y yanvar yoki fevral oylari uchun minus 1 yil, qolgan oylar uchun yil
  • y ning oxirgi 2 ta raqami Y
  • v ning birinchi 2 ta raqamidir Y
  • d oyning kuni (1 dan 31 gacha)
  • m o'zgargan oy (mart = 3, ... yanvar = 13, fevral = 14)
  • w haftaning kuni (1 = yakshanba, .. 0 = shanba)

Faqatgina farq Zeller algoritmi orasidagi farq (Z) va Gauss algoritmi (G), anavi Z - G = 1 = yakshanba.

(Mart = 3 dyuym Z ammo mart = 1 dyuym G)

Shunday qilib, biz Gauss algoritmi uchun oylarning qiymatlarini biriga qo'shib olishimiz mumkin:

Oylarm
Yanvar1
fevral4
Mart3
Aprel6
May1
Iyun4
Iyul6
Avgust2
Sentyabr5
Oktyabr0
Noyabr3
Dekabr5

Vang algoritmi

Vang algoritmi [12] Gregorian taqvimi uchun (agar m 1 yoki 2 ga teng bo'lsa va yil sakrash yili bo'lsa, formulani 1 ga kamaytirish kerak)

qayerda

  • yilning oxirgi raqami
  • yilning oxirgi ikkinchi raqami
  • yilning birinchi 2 ta raqamidir
  • oyning kuni (1 dan 31 gacha)
  • bu oy (yanvar = 1, ... dekabr = 12)
  • haftaning kuni (0 = yakshanba, .. 6 = shanba)
  • null-kun funktsiyasi bo'lib, quyidagi jadvalda keltirilgan
m
11Bir kun
35m + 2
57
79
93m + 1
1112
212m + 3
42m - 2
64
86
108
1210

Julian kalendarining algoritmini yuqoridagi algoritmdan olish mumkin

qayerda qiyomat kuni.

m
13Kun
37m + 4
59
711
95m - 4
117
20m - 2
44m
66
88
1010
1212

Boshqa algoritmlar

Shverdtfeger usuli

Shverdtfeger tomonidan qisman jadval usulida yil asrga va asr ichida ikki xonali yilga bo'linadi. Yondashuv oyga bog'liq. Uchun m ≥ 3,

shunday g 0 dan 99 gacha. Uchun m = 1,2,

Haftaning kuni uchun formula[9]

bu erda ijobiy modul tanlangan.[9]

Ning qiymati e quyidagi jadvaldan olingan:

m123456789101112
e032503514624

Ning qiymati f taqvimiga bog'liq bo'lgan quyidagi jadvaldan olinadi. Gregorian taqvimi uchun,[9]

v mod 40123
f0531

Julian taqvimi uchun,[9]

v mod 70123456
f5432106

Lyuis Kerolning usuli

Charlz Lutvid Dodgson (Lyuis Kerol ) yuqoridagi "To'liq jadval: Julian va Gregorian kalendarlari" dagi oylar davomida bir xil indeks raqamlarini ishlatishda jumboqga o'xshash usulni ishlab chiqdi, ammo qisman jadval shaklida. U pog'ona bo'lmagan dastlabki uch oy uchun xuddi shu uchta tuzatishlarni sanab o'tdi, oxirgi 7 marotaba yuqori va qolganlarini topish uchun sirli ko'rsatmalar beradi; uning asrlar davomida tuzatishlari asrlar jadvaliga o'xshash formulalar yordamida aniqlanadi. Uning usuli ham ishlaydi deb ta'kidlashda aniq bo'lsa-da Eski uslub "1676 yil 23-fevral" chorshanba kunini faqat "eski uslub" da emas, balki 25-mart kuni emas, balki 1-yanvarda boshlanadigan Julian kalendarida ishlashini aniqlash uchun uning misolida quyida keltirilgan. Julian taqvimi.

Algoritm:[13]

Belgilangan sanani 4 qismga bo'ling, ya'ni. asrlar soni, o'tgan yillar soni, oy, oy kuni.

Oldingi elementlarning barchasiga har birini, topilganda, qo'shib, quyidagi 4 elementni hisoblang. Biror narsa yoki jami 7 dan oshganda, 7 ga bo'ling va qolgan qismini faqat saqlang.

Asrlar uchun: "uchun"Eski uslub "(1752 yil 2 sentyabrda tugagan) 18 dan chiqaring. uchun"Yangi uslub "(1752 yil 14-sentabrda boshlangan) 4 ga bo'ling, ortiqcha miqdorni 3 dan oling, qoldiqni 2 ga ko'paytiring.

Yil elementi: ortiqcha o'nlik sonini, ortiqcha va 4 sonini qo'shib qo'ying.

Oy-bandi: Agar u unli bilan boshlanadigan yoki tugagan bo'lsa, 10-dan uning o'rnini ko'rsatadigan raqamni chiqarib tashlang. Bu, shuningdek, kunlar soni, keyingi oy uchun elementni beradi. Yanvar oyi "0"; fevral yoki mart oylari uchun "3"; dekabr uchun "12".

Kunlik element: Shunday qilib, erishilgan natijani "1" (birinchi bo'lib 7 ga qo'shib, agar "0" bo'lsa) qo'shib, agar sana eng yaxshi yilda yanvar yoki fevralga to'g'ri kelsa, har yili, 4 ga bo'linadigan, asrlar soni shunchalik bo'linmaydigan (masalan, 1800) "Yangi uslub" da, faqat asrlik yillardan tashqari, Leap yili.

Yakuniy natija haftaning kunini beradi, "0" yakshanba, "1" dushanba va boshqalarni anglatadi.

Misollar:[13]

1783 yil, 18 sentyabr

17, 4 ga bo'linib, "1" ni qoldiradi; 3 dan 1 "2" beradi; ikki marta 2 - "4" .83 - 6 o'nlik va 11, 17 ni beradi; plyus 2 19 ni beradi, ya'ni (7 ga bo'lish) "5". Jami 9, ya'ni "2" Avgust oyidagi element "8 dan 10 gacha", ya'ni "2"; Shunday qilib, sentyabr uchun bu "2 plyus 31", ya'ni "5" Jami 7, ya'ni "0", o'chadi.18 "4" beradi. Javob bering, "payshanba".

1676 yil, 23 fevral

18 dan 16 "2" ni beradi 76 - 6 o'nlik va 4, 10 ni beradi; plyus 1 11 beradi, ya'ni "4". Jami "6" Fevral oyi "3". Jami 9, ya'ni "2" 23 "2" beradi. O'tish yili uchun jami "4" tuzatish "3" ni beradi. Javob bering, "chorshanba".

1676 yil 23 fevral (Kerol uchun 1676 yil 4 mart bilan bir xil kun) ekan, u Gregorian kalendaridagi eski uslubdagi sana uchun to'g'ri javobni, ya'ni "juma" ni olmadi. 1677 yil 5 mart bilan bir kun. Agar u yil boshlanishini to'g'ri deb bilgan bo'lsa 25 mart, uning usuli turli xil yil raqamlarini hisobga olgan bo'lar edi - xuddi shunga o'xshash Jorj Vashington Tug'ilgan kun farq qiladi - ikki kalendar o'rtasida.

Shunisi e'tiborga loyiqki, Kerolning uslubini qayta nashr etganlar, uning xatosini, xususan, ta'kidlay olmadilar Martin Gardner.[14]

1752 yilda Britaniya imperiyasi Eski uslub Julian taqvimi ni qabul qilgandan keyin Gregorian taqvimi, dunyoning aksariyat mamlakatlarida bugungi standartga aylandi. Qo'shimcha ma'lumot olish uchun qarang Eski uslub va yangi uslub sanalari.

Amalga bog'liq usullar

In C tili quyidagi iboralar, y, m va d navbati bilan, yilni (masalan, 1988 yil), oyni (1-12) va oyning kunini (1-31) ifodalaydigan butun sonli o'zgaruvchilar.

        (d + = m <3? y -: y-2,23 * m / 9 + d + 4 + y / 4-y / 100 + y / 400)% 7 

1990 yilda Maykl Keyt va Tom Kreyver Gregorian sanasini haftaning raqamli kuniga aylantirish uchun o'z-o'zidan ishlaydigan funktsiyani kiritish uchun zarur bo'lgan tugmachalar sonini minimallashtirishga qaratilgan yuqoridagi iborani nashr etdilar.[15] U ham saqlamaydi y na dva qaytadi 0 = Yakshanba, 1 = Dushanba va hk.

Ko'p o'tmay, Hans Lachman past darajadagi qurilmalarda ulardan foydalanish qulayligi algoritmini soddalashtirdi. Dastlab to'rt funktsiyali kalkulyatorlar uchun ishlab chiqilgan bo'lib, uning usuli 1905-2099 y.lari yoki tarixiy Yulian sanalari bilan chegaralanib, kamroq klaviatura yozuvlarini talab qiladi. Keyinchalik har qanday Gregorian sanasini, hatto an-da aylantirish uchun o'zgartirildi abakus. Yoqilgan Motorola 68000 - asoslangan qurilmalar, ikkalasiga ham shunga o'xshash ehtiyoj kamroq protsessor registrlari yoki opkodlar, mo'ljallangan dizayn maqsadiga qarab.[16]

Sakamotoning usullari

Tønddering algoritmini jadvalga kirituvchi quyidagilarda aks ettirilgan K&R C funktsiya.[17] Kichkina o'zgarishlar bilan u boshqalarga moslashtirildi yuqori darajadagi dasturlash tillari kabi APL2.[18] Tomohiko Sakamoto tomonidan comp.lang.c saytida nashr etilgan Usenet yangiliklar guruhi 1992 yilda, bu har qanday Gregorian sana uchun to'g'ri keladi.[19][20]

    kunlik hafta (y, m, d) / * 1 <= m <= 12, y> 1752 (Buyuk Britaniyada) * / {static int t [] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}; y - = m <3; return (y + y / 4 - y / 100 + y / 400 + t [m-1] + d)% 7; }

Funktsiya har doim ham saqlanib qolavermaydi yva qaytadi 0 = Yakshanba, 1 = Dushanba, va hokazolardan farqli o'laroq, quyidagi ibora

    dow (m, d, y) {y- = m <3; return (y + y / 4-y / 100 + y / 400 + "- yotoq = qalam + aqldan ozgan." [m] + d)% 7; }

Sakamoto tomonidan bir vaqtning o'zida joylashtirilgan boshqa tillarga osonlikcha moslasha olmaydi va hatto standartlardan tashqari belgilarni kodlaydigan kompyuterda yig'ilsa ham ishlamay qolishi mumkin. ASCII qiymatlar (masalan, EBCDIC ) yoki bajaradigan S kompilyatorlarida ANSI C muvofiqligi (hatto asl nusxaga mos keladigan kodda ham) K&R C o'tkazib yuborilgan joyda spetsifikatsiya turdagi deklaratsiyalar butun son sifatida qabul qilinadi). Faqatgina oxirgi ko'rib chiqish uchun Sakamotoning yanada aniq versiyasi noaniq deb hisoblanishi mumkin.ko'chma Keyt va Kreyver kabi bo'lishi mumkin.

Rata Die

IBM "s Rata Die usuli "kun" ni bilishini talab qiladi proleptik Gregorian taqvimi ya'ni milodiy 1-yanvar 1-haftasi kuni (uning birinchi sanasi). Qolgan raqamni aniqlash uchun buni bajarish kerak, bunga asosan tahlilning keyingi qismi uchun haftaning kuni belgilanadi. 2009 yil 13 avgust kuni payshanba kuni berilgan kunni ishlatib, ma'lumotnoma sifatida Asosiy va n 01/01/0001 dan boshlab shu kungacha bo'lgan kunlar va haftalar soni bo'lib, mos ravishda va k ushbu haftaning kuni 7 dan kam bo'lishi kerak, Asosiy sifatida ifodalanadi

                      Asosiy = 7n + k       (i)

4 ga yoki 400 ga bo'linadigan yil pog'ona yil, 400 ga emas 100 ga bo'linadigan yil esa pog'ona yil emasligini bilib, dasturiy ta'minotni kunlar sonini topish uchun yozish mumkin. Quyida IBM usuli uchun C ga tarjima qilingan REXX dasturlash tili.

int daystotal (int y, int m, int d) {statik char daytab [2] [13] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}}; int daystotal = d; uchun (int yil = 1; yil <= y; yil ++) {int max_month = (yil 

Bu aniqlandi kunlik Milodiy 1-yanvar kuni 733632 kunni tashkil qiladi. Ushbu kunlarning umumiy sonini oddiy hisob-kitob bilan tasdiqlash mumkin: 2000 yil 1-yanvardan beri 2008 yil to'ldi. Sakrash kunlarini hisobga olmaganda, 2008 yildagi kunlarning umumiy soni 365 * 2008 = 732920 kun. Assume that all years divisible by 4 are leap years. Add 2008/4 = 502 to the total; then subtract the 15 leap days because the years which are exactly divisible by 100 but not 400 are not leap. Continue by adding to the new total the number of days in the first seven months of 2009 that have already passed which are 31 + 28 + 31 + 30 + 31 + 30 + 31 = 212 days and the 13 days of August to get Asosiy = 732920 + 502 - 20 + 5 + 212 + 13 = 733632.

What this means is that it has been 733632 days since the base date. Substitute the value of Asosiy into the above equation (i) to get 733632 = 7 *104804 + 4, n = 104804 and k = 4 which implies that August 13, 2009 is the fourth day into the 104805th week since 01/01/0001. 13 August 2009 is Thursday; therefore, the first day of the week must be Monday, and it is concluded that the first day 01/01/0001 of the calendar is Dushanba. Based on this, the remainder of the ratio Base/7, defined above as k, decides what day of the week it is. Agar k = 0, it's Monday, k = 1, it's Tuesday, etc.[21]

Shuningdek qarang

Adabiyotlar

  1. ^ To explain this in detail, visualise a calendar hanging on the wall depicting a month beginning on Sunday (e.g. March 2020). You will see that the 1st is a Sunday. Now count forward seven days. This brings you to the 8th, which is also a Sunday. Count forward ten days. This brings you to the 18th, which is a Wednesday. Now the 4th is a Wednesday (being three days after Sunday 1st). Count forward seven days. This brings you to Wednesday 11th, three days after Sunday 8th. Count forward another seven days. This brings you to Wednesday 18th, three days after Sunday 15th, which falls two weeks after Sunday 1st.
  2. ^ a b Birodarlar, Hardin; Rouson, Tom; Conn, Rex C.; Pol, Matias R.; Bo'yoq, Charlz E .; Georgiev, Luchezar I. (2002-02-27). 4DOS 8.00 onlayn yordam.
  3. ^ "HP Prime - Portal: Firmware update" (nemis tilida). Moravia Education. 2015-05-15. Arxivlandi asl nusxasidan 2016-11-05. Olingan 2015-08-28.
  4. ^ Pol, Mattias R. (1997-07-30). NWDOS-Maslahatlar - Maslahatlar va fokuslar, Novell DOS 7, Blick auf undokumentierte details, Xatolar va vaqtinchalik echimlar. MPDOSTIP. Release 157 (in German) (3rd ed.). Arxivlandi asl nusxasidan 2016-11-04. Olingan 2014-08-06. (NB.) NWDOSTIP.TXT ustida olib borilayotgan keng qamrovli ishdir Novell DOS 7 va OpenDOS 7.01 shu jumladan ko'plab hujjatsiz xususiyatlar va ichki xususiyatlarning tavsifi. Bu muallifning kattaroq qismi MPDOSTIP.ZIP to'plam 2001 yilgacha saqlanib qolgan va o'sha paytda ko'plab saytlarda tarqatilgan. Taqdim etilgan havola HTML-ga o'zgartirilgan eski versiyasiga ishora qiladi NWDOSTIP.TXT fayl.)
  5. ^ Richards, E. G. (1999). Xaritalash vaqti: Taqvim va uning tarixi. Oksford universiteti matbuoti.
  6. ^ The numbers in the first column are proleptic - the Gregorian calendar was not devised till 1582. See the note beneath the table.
  7. ^ The Julian century beginning 1 BC would also appear on this line of the table (to the left of 700) but there is no space to include it.
  8. ^ a b Gauss, Carl F. (1981). "Den Wochentag des 1. Januar eines Jahres zu finden. Gueldene Zahl. Epakte. Ostergrenze.". Werke. herausgegeben von der Koeniglichen Gesellschaft der Wissenschaften zu Goettingen (2-nashr). Xildesxaym: Georg Olms Verlag. 206–207 betlar. ISBN  978-3-48704643-3.
  9. ^ a b v d e f g Schwerdtfeger, Berndt E. (2010-05-07). "Gauss' calendar formula for the day of the week" (PDF) (1.4.26 ed.). Olingan 2012-12-23.
  10. ^ Kraitchik, Maurice (1942). "Chapter 5: The calendar". Mathematical recreations (2nd revised [Dover] ed.). Mineola: Dover nashrlari. 109–116 betlar. ISBN  978-0-48645358-3.
  11. ^ Stockton, J. R. (2010-03-19). "The Calendrical Works of Rektor Chr. Zeller: The Day-of-Week and Easter Formulae". Merlin. Olingan 2012-12-19.
  12. ^ Wang, Xiang-Sheng (March 2015). "Calculating the day of the week: null-days algorithm" (PDF). Rekreatsiya matematikasi jurnali. № 3. p. 5.
  13. ^ a b Dodgson, C.L. (Lyuis Kerol ). (1887). "To find the day of the week for any given date". Tabiat, 31 March 1887. Reprinted in Mapping Time, 299-301 betlar.
  14. ^ Martin Gardner. (1996). Olam ro'molchada: Lyuis Kerolning matematik hordiqlari, o'yinlari, jumboqlari va so'zlarni o'ynash, pages 24-26. Springer-Verlag.
  15. ^ Michael Keith; Tom Craver. (1990). The ultimate perpetual calendar? Journal of Recreational Mathematics, 22:4, pp.280-282.
  16. ^ The 4-function Calculator; The Assembly of Motorola 68000 Orphans; The Abacus. gopher://sdf.org/1/users/retroburrowers/TemporalRetrology
  17. ^ "Day-of-week algorithm NEEDED!" news:[email protected]
  18. ^ APL2 IDIOMS workspace: Date and Time Algorithms, line 15. ftp://ftp.software.ibm.com/ps/products/apl2/info/APL2IDIOMS.pdf (2002)
  19. ^ Google newsgroups:comp.lang.c. (1992 yil dekabr). "Date -> Day of week conversion". Olingan 2020-06-21.
  20. ^ Google newsgroups:comp.lang.c. (1994). "DOW algorithm". Olingan 2020-06-21.
  21. ^ REXX / 400 ma'lumotnomasi page 87 (1997).
  • Hale-Evans, Ron (2006). "Hack #43: Calculate any weekday". Mind performance hacks (1-nashr). Pekin: O'Rayli. pp.164–169. ISBN  9780596101534.
  • Tio, Mark; Stark, David E.; Klaiman, Cheryl; Schultz, Robert T. (2006). "The day of the week when you were born in 700 ms: Calendar computation in an autistic savant". Eksperimental psixologiya jurnali: inson idroki va faoliyati. 32 (5): 1155–1168. doi:10.1037/0096-1523.32.5.1155.
  • Treffert, Darold A. "Why calendar calculating?". Islands of genius : the bountiful mind of the autistic, acquired, and sudden savant (1. publ., [repr.]. ed.). London: Jessika Kingsli. 63-66 betlar. ISBN  9781849058735.

Tashqi havolalar