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

73

    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. 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. Vuod
      Ikävä
      22
      5254
    2. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      25
      4408
    3. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      28
      2561
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      34
      2264
    5. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2008
    6. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      15
      1938
    7. En ole koskaan kokenut

      Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka
      Ikävä
      19
      1617
    8. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      12
      1541
    9. 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 kons
      Suomalaiset julkkikset
      21
      1277
    10. Kerranki asiat oikein

      Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa
      Haapavesi
      10
      1194
    Aihe