Lauantaille sattuneet jouluaatot

Anonyymi

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ä.

30

<50

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    • 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 PHP

        Pythonin puolesta; aina ei voi voittaa, ei edes joka kerta.


      • Anonyymi
        Anonyymi kirjoitti:

        KOVA KAKSIKKO
        79 JavaScript
        79 PHP

        Nuuka 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

    1. Euroviisut fiasko, Suomen kautta aikain typerin esitys, jumbosija odottaa. Olisi pitänyt boikotoida!

      Tämän vuoden euroviisut on monella tapaa täydellinen fiasko. Ensinnäkin kaikkien itseään kunnioittavien eurooppalaisten
      Maailman menoa
      298
      3381
    2. 202
      2931
    3. Hei A, osaatko

      sanoa, miksi olet ihan yhtäkkiä ilmestynyt kaveriehdotuksiini Facebookissa? Mitähän kaikkea Facebook tietää mitä minä en
      Ikävä
      71
      2514
    4. Synnittömänä syntyminen

      Helluntailaisperäisillä lahkoilla on Raamatunvastainen harhausko että ihminen syntyy synnittömänä.
      Helluntailaisuus
      231
      1986
    5. Tuollainen kommentti sitten purjehduspalstalla

      "Naisen pillu se vasta Bermudan kolmio on. Sinne kun lähdet soutelemaan niin kohta katoaa sekä elämänilo että rahat"
      Suhteet
      16
      1415
    6. Mitä tämä tarkoittaa,

      että näkyy vain viimevuotisia? Kirjoitin muutama tunti sitten viestin, onko se häipynyt avaruuteen?
      Ikävä
      42
      1371
    7. Nukkumisiin sitten

      Käsittelen asiaa tavallani ja toiveissa on vielä että tästä pääsee hyppäämään ylitse. Kaikenlaisia tunteita on läpikäyny
      Ikävä
      4
      1327
    8. Syö kohtuudella niin et liho.

      Syömällä aina kohtuudella voi jopa laihtua.On paljon laihoja jotka ei harrasta yhtään liikuntaa. Laihuuden salaisuus on
      Laihdutus
      24
      1308
    9. Nesteen bensapumput pois, tilalle latausasemat

      Näin se maailma muuttuu, kun Suomessakin liikenneasemat lopettavat polttoaineiden myynnin ja tarjoavat enää sähköä autoi
      Maailman menoa
      166
      1271
    10. Muistatko komeroinnin?

      Taannoin joskus kirjoitin aloituksen tänne komeroinnista eli hikikomoreista; syrjäytyneistä nuorista ihmisistä. Ehkä asu
      Suhteet
      51
      1267
    Aihe