Minä vuosina välillä 1900-2020, jouluaattoa vietettiin lauantaina. Ratkaise millä kielellä haluat, kunhan koodista tulee lyhyt. Aina ei python voita, vai voittaako sittenkin kun on kyse kirjoitettujen merkkien määrästä.
Lauantaille sattuneet jouluaatot
30
73
Vastaukset
- Anonyymi
PHP:
for($x=1900;$x<=2020;$x ){if(date('N', mktime(00, 00, 00, 12, 24, $x) ) == 6){echo $x."<br />";}- Anonyymi
PHP 79 merkkiä
for($x=1900;$x<=2020;$x ){if(date('N',mktime(0,0,0,12,24,$x))==6)echo $x." ";}
Voit testata koodin Interaktiivissa PHP:een komentotulkissa siirtymällä komentokehotteeseen Ctrl Alt t ja suorittamalla komennon:
php -a
Vuosiluvut tulostuvat välilyönnillä erotettuna.
- Anonyymi
BASIC 138 merkkiä
Public Sub Main()
Dim x As Short
For x = 1900 To 2020
If WeekDay(Date(x, 12, 25)) = 0 Then Print Format(Date(x, 12, 25), "yyyy")
Next
End
Muunneltuna Gambas 3.15.2 esimerkeistä. Voit testata koodin online editorissa ohjelman kotisivulla tai asentamalla kehitysympäristön omalle koneellesi.- Anonyymi
Jouluaatto on 24. päivä
- Anonyymi
1904 jouluaatto oli lauantaina.
- Anonyymi
- Anonyymi: "1904 jouluaatto oli lauantaina."
ja
- Anonyymi: "Jouluaatto on 24. päivä"
Olette kumpikin oikeassa, muuntelu jäi keskeneräiseksi ja oikein se olisi ollut seuraava, joka ei merkkien määrää kuitenkaan muuta:
Public Sub Main()
Dim x As Short
For x = 1900 To 2020
If WeekDay(Date(x, 12, 24)) = 6 Then Print Format(Date(x, 12, 24), "yyyy")
Next
End
- Anonyymi
Jos nyt välttämättä pitää "juhlia" jotain aasialaisen paimentolaiskansan muinaisia tarinoita niin siirrettäköön se vuodenvaihteeseen niin että selvittäisiin yksillä "pyhillä".
- Anonyymi
Entäs ne vapaat, jotka jää pitämättä, tai niin tarkoitit varmaan perättäin eikä päällekkäin.
- Anonyymi
Anonyymi kirjoitti:
Entäs ne vapaat, jotka jää pitämättä, tai niin tarkoitit varmaan perättäin eikä päällekkäin.
Siinä saattaisi olla ideaa kun kaikki vapaat niputetaan yhteen ja pidetään kerralla, saataisiin 115 päivän loma arkipyhistä ja viikonlopuista siihen kun ynnätään talviloma ja kesäloma isyysvapaat ja sairaslomat niin johan on pitkä loma.
- Anonyymi
Anonyymi kirjoitti:
Siinä saattaisi olla ideaa kun kaikki vapaat niputetaan yhteen ja pidetään kerralla, saataisiin 115 päivän loma arkipyhistä ja viikonlopuista siihen kun ynnätään talviloma ja kesäloma isyysvapaat ja sairaslomat niin johan on pitkä loma.
Helpoin ja varmin keino on laskea näiltä sivuilta. Suosittelen, jos tukkimiehen kirjanpito hallitaan 120 saakka:
https://almanakka.helsinki.fi/fi/arkisto/yliopiston-almanakat-universitetets-almanackor-1608-1999.html - Anonyymi
Anonyymi kirjoitti:
Helpoin ja varmin keino on laskea näiltä sivuilta. Suosittelen, jos tukkimiehen kirjanpito hallitaan 120 saakka:
https://almanakka.helsinki.fi/fi/arkisto/yliopiston-almanakat-universitetets-almanackor-1608-1999.htmlKekimäärin joka 7. vuosi on jouluaatto lauantaina joten tukkimiehen kirjanpitoa ei tarvitse mihinkään 120:een asti. D
- Anonyymi
Jos jouluaatto on tänä vuonna lauantaina, on se ensi vuonna sunnuntaina, eli se siirtyy aina yhden päivän eteenpäin joka vuosi, niin, paitsi karkausvuotena, jolloin se siirtyy kaksi päivää eteenpäin.
Että tämmöistä tällä kertaa.- Anonyymi
Mutta kun ei ole.
- Anonyymi
Anonyymi kirjoitti:
Mutta kun ei ole.
Niin, niin, jos olisi . . .
- Anonyymi
Zellerin säännöllä ja JavaScriptillä:
const z = (p, m, v) => {
if (m < 3)
{
m = m 12;
v = v - 1;
}
const J = Math.floor(v / 100);
const K = v - (100 * J);
const S = Math.floor(2.6 * m - 5.39) Math.floor(K / 4) Math.floor(J / 4) p K - (2 * J);
return S - (7 * Math.floor(S / 7));
}
for (let v = 1900; v <= 2020; v ) {
if (z(24,12,v) == 6) console.log(v);
}
/*
1904
1910
1921
1927
1932
1938
1949
1955
1960
1966
1977
1983
1988
1994
2005
2011
2016
*/- Anonyymi
Taitaa olla ensimmäinen, jossa viikonpäivää ei päätelty valmisfunktiolla.
- Anonyymi
Anonyymi kirjoitti:
Taitaa olla ensimmäinen, jossa viikonpäivää ei päätelty valmisfunktiolla.
C-kielellä saisi muka viikonpäivän näin:
(d =m<3?y--:y-2,23*m/9 d 4 y/4-y/100 y/400)%7
Mutta ei tuo ainakaan minulla antanut oikeita arvoja, kuten ei Sakamoton metodikaan, joka antoi samat kuin tuo Michael Keith / Tom Craver versio.
https://en.wikipedia.org/wiki/Calculate_the_day_of_the_week
- Anonyymi
JavaScript, 112 merkkiä
Array.from({length:121},(_,j)=>new Date(1900 j,11,24)).filter(d=>("" d).includes("Sat")).map(d=>d.getFullYear())
Huomaa, että kuukausi lähtee nollasta, joten joulukuu on 11.- Anonyymi
JavaScriptillä tyylikkäästi yhdelle riville tungettuna.
for(let v=1900; v<=2020; v ) if(new Date(v,11,24).getDay()==6) console.log(v); - Anonyymi
Anonyymi kirjoitti:
JavaScriptillä tyylikkäästi yhdelle riville tungettuna.
for(let v=1900; v<=2020; v ) if(new Date(v,11,24).getDay()==6) console.log(v);Pyyttonilla vastaava:
import datetime
for v in range(1900, 2021):
if datetime.datetime(v, 12, 24).weekday() == 5:
print(v) - Anonyymi
Anonyymi kirjoitti:
JavaScriptillä tyylikkäästi yhdelle riville tungettuna.
for(let v=1900; v<=2020; v ) if(new Date(v,11,24).getDay()==6) console.log(v);Ai joo getDay():llähän saa viikonpäivän kätevämmin.
- Anonyymi
Anonyymi kirjoitti:
Ai joo getDay():llähän saa viikonpäivän kätevämmin.
Mutta lauantai on arvo 5, kun viikonpäiväkin lähtee nollasta. Melkoista sekamelskaa tuntuu olevan nuo mikä lähtee mistäkin.
- Anonyymi
Anonyymi kirjoitti:
Mutta lauantai on arvo 5, kun viikonpäiväkin lähtee nollasta. Melkoista sekamelskaa tuntuu olevan nuo mikä lähtee mistäkin.
Pyyttonissa on maanantai 0, Javaskriptissä sunnuntai.
- Anonyymi
Anonyymi kirjoitti:
JavaScriptillä tyylikkäästi yhdelle riville tungettuna.
for(let v=1900; v<=2020; v ) if(new Date(v,11,24).getDay()==6) console.log(v);KOVA KAKSIKKO
79 JavaScript
79 PHP - Anonyymi
Anonyymi kirjoitti:
KOVA KAKSIKKO
79 JavaScript
79 PHPPythonin puolesta; aina ei voi voittaa, ei edes joka kerta.
- Anonyymi
Anonyymi kirjoitti:
KOVA KAKSIKKO
79 JavaScript
79 PHPNuuka koodari muuttaisi ehdon "<=2020" muotoon "<2021". Säästäisi kuitenkin kallisarvoisen merkin.
- Anonyymi
Anonyymi kirjoitti:
Nuuka koodari muuttaisi ehdon "<=2020" muotoon "<2021". Säästäisi kuitenkin kallisarvoisen merkin.
Hyvä sinä ajatteleva "Anonyymi", niin tekisi, sillä saa vakaamman johtoaseman, kumpikin käressä oleva.
- Anonyymi
Tässä vähän eri tavalla tehtynä.
[...new Array(120).keys()].filter(i=>new Date(i 1900,11,24).getDay()==6).map(v=>console.log(v 1900)) - Anonyymi
Anonyymi kirjoitti:
Tässä vähän eri tavalla tehtynä.
[...new Array(120).keys()].filter(i=>new Date(i 1900,11,24).getDay()==6).map(v=>console.log(v 1900))Toimii, ja on se sen verran erilainen, ettei ymmärrys riittänyt.
- Anonyymi
Anonyymi kirjoitti:
Toimii, ja on se sen verran erilainen, ettei ymmärrys riittänyt.
Ensin tehdään taulukko 0...120 (tuossa on virhe, pitäisi olla 0...121).
[...new Array(120).keys()]
Sitten suodatetaan filter()-metodilla pois ylimääräiset taulukon alkiot i käyttämällä Date-objektin getDay()-metodia, joka palauttaa viikonpäivän numeron. Jos on 6, niin kyseessä on lauantai ja alkio jää taulukkoon. Päivämäärä joka Date-objektille annetaan on i 1900, 11,24. Kuten aikaisemmin on mainittu, niin Joulukuuta vastaava numeerinen arvo on 11.
.filter(i=>new Date(i 1900,11,24).getDay()==6)
Lopuksi pyöräytetään taulukon alkiot map()-metodilla console.log():lla tulostettavaksi muodossa alkion arvo 1900.
.map(v=>console.log(v 1900))
Ja tuossa on se virhe, ettei käy läpi kuin vuodet 1900–2019, koska alkiotaulukossa ei ole alun perin kuin arvot 0–119. Lopputulokseen ei tietenkään vaikuta, koska vuonna 2020 jouluaatto ei ole lauantaina.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225254- 254408
- 282561
- 342264
- 372008
- 151938
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191617- 121541
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211277Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101194