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

65

    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. Ja taas ammuttu kokkolassa

      Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.
      Kokkola
      36
      4344
    2. Kuinka kauan

      Olet ollut kaivattuusi ihastunut/rakastunut? Tajusitko tunteesi heti, vai syventyivätkö ne hitaasti?
      Ikävä
      115
      1609
    3. Milli-helenalla ongelmia

      Suomen virkavallan kanssa. Eipä ole ihme kun on etsintäkuullutettu jenkkilässäkin. Vähiin käy oleskelupaikat virottarell
      Kotimaiset julkkisjuorut
      248
      1566
    4. Helena Koivu on äiti

      Mitä hyötyä on Mikko Koivulla kohdella LASTENSA äitiä huonosti . Vie lapset tutuista ympyröistä pois . Lasten kodista.
      Kotimaiset julkkisjuorut
      220
      1427
    5. Mitä siellä ABC on tapahtunut

      Tavallista isompi operaatio näkyy olevan kyseessä.
      Alajärvi
      38
      1386
    6. Ja taas kerran hallinto-oikeus että pieleen meni

      Hallinto-oikeus kumosi kunnanhallituksen päätöksen vuokratalojen pääomituksesta. https://sysmad10.oncloudos.com/cgi/DREQ
      Sysmä
      88
      1098
    7. Löydänköhän koskaan

      Sunlaista herkkää tunteellista joka jumaloi mua. Tuskin. Siksi harmittaa että asiat meni näin 🥲
      Ikävä
      132
      1072
    8. Kun näen sinut

      tulen iloiseksi. Tuskin uskallan katsoa sinua, herätät minussa niin paljon tunteita. En tunne sinua hyvin, mutta jotain
      Ikävä
      48
      1072
    9. Purra saksii taas. Hän on mielipuuhassaan.

      Nyt hän leikkaa hyvinvointialueiltamme kymmeniä miljoonia. Sotea romutetaan tylysti. Terveydenhoitoamme kurjistetaan. ht
      Maailman menoa
      267
      1041
    10. Yhdelle miehelle

      Mä kaipaan sua niin paljon. Miksi sä oot tommonen pösilö?
      Ikävä
      63
      1010
    Aihe