Kezdőoldal » Tudományok » Egyéb kérdések » Jó ez az öröknaptár algoritmus...

Jó ez az öröknaptár algoritmus? Részletek lent.

Figyelt kérdés

Tehát egy dátumról - év,hó,nap - (1582 utáni) eldönti, hogy a hét melyik napjára esik:

Y = év-1

n = Y + [Y/4] - [Y/100] + [Y/400] + hónap_korr + nap

hónap_korr ={0,3,3,6,1,4,6,2,5,0,3,5}

n-ből le kell vonni egyet, kivéve ha a dátum szökőévben szökőnap utánra esik (>=márc.1).

n mod 7 adja a napot: 0:hétfő, 1:kedd ...

[]= egészrész



2013. szept. 8. 18:20
 1/5 BringaManó ***** válasza:
azt még nem tudom, hogy működik-e, de ez a "le kell vonni egyet, kivéve ha a dátum szökőévben szökőnap utánra esik" eléggé bénán hangzik... Épp az lenne a lényeg, hogy ezt a "szöveges feladatot" átalakítsd valami képletszerűséggé, ettől lenne algoritmus jellege, nem?
2013. szept. 11. 23:08
Hasznos számodra ez a válasz?
 2/5 BringaManó ***** válasza:

...De egyébként jónak tűnik (legalábbis 1900.01.01-2079.08.03 között :-)

(Excelben megcsináltam szórakozásképpen – Jé, a buta Excel 2003 nem tudja, hogy 1900 nem szökőév volt...)


És visszavonom az előzőt, tkp. érthető ez így.


(megj.:

@"szökőévben szökőnap utánra esik":

vigyázzunk a megfogalmazással: a szökőnap elvileg febr. 24. – ld. pl. [link] –, bár igaz, hogy egyre több naptárban 29-ére írják)

2013. szept. 12. 04:00
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

Hiányzott a szökőév definíció:

(év mod 4)=0 ÉS ((év mod 100)<>0 VAGY (év mod 400)=0)

Szerintem is jó. Sőt, egyszerűsíthető, fejben számolható, ha pl. év >2000:

Y = év - 2001 is működik ( - [Y/100] + [Y/400] elhagyható) és

ha pl. év >1900:

Y = év - 1901 is működik ( - [Y/100] + [Y/400] elhagyható), de itt még +1.

Persze a fejben számoláshoz meg kell jegyezni egy 12 elemű tömböt...

2013. szept. 12. 09:46
 4/5 BringaManó ***** válasza:
meg hát, ma már ki a fene számol bármit is fejben?... :-)
2013. szept. 14. 11:59
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:

Ha csak egy kicsit is megy a fejszámolás, akkor ezzel villoghatsz a haverok előtt!

Az 1900-as, 2000-es évekre gondolok.

Szerintem simán, fejből, pár mp alatt!

2013. szept. 14. 16:12

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!