LOTTO, monellako merkillä onnistuu tuottaa

lyhyestä-virsi-kaunis

lottorivi ?

Siis kyllä, merkkien määrästä on kyse, tee millä tahansa kielellä. Katsotaan kuinka vähän merkkejä tarvitaan lottorivin näytölle tulostukseen. Veikkaan että 150 - 200 merkkiä tarvitaan, rivinvaihdot ja ei näkyvät merkit jätetään laskuista pois.

Mukavinta niitä olisi katsella kuvakaappauksina https://imgur.com/ sivuilla, koska täällä ne pätkät särkyvät, ja kuvina taas ovat hankalampi suoraan kopioida toiselta. Tuonne kun ei tarvitse tiliä tehdä, ja kuvatkin on huippulaatua.

ja sitten, ei näitä (7 merkin juttuja) 1 2 3 4 5 6 7 joka sinällään on lottorivi, mutta nyt satunnaislukugeneraattorin tuottamia tuloksia haetaan, joten unohda cat a jolla tulostasi a -tiedoston sisältämät lottonumerot.

28

239

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • lottopallokala

      Tässä vanha python-versioni:

      https://pastebin.com/mYJPGfwk

      Tuossa näyttää olevan merkkejä ilman välilyöntejä 559. Saishan tuosta viilattua ainakin kommentit pois.

      • lyhyestä-virsi-kaunis

        Lyhennettävissä varmaankin, mutta tähän astisista paras.

        Rivejä 22
        Sanoja 63
        Merkkejä 659


      • lottopallokala
        lyhyestä-virsi-kaunis kirjoitti:

        Lyhennettävissä varmaankin, mutta tähän astisista paras.

        Rivejä 22
        Sanoja 63
        Merkkejä 659

        Lyhentelin hieman. Nyt ei tulosta kuin arvonnan lopputuloksen. Ilman välilyöntejä 126 merkkiä. Jos ei tarvitse olla järjestyksessä, niin lyhenee vielä 8 merkkiä lisää, kun poistaa rivin a.sort().

        https://pastebin.com/WDiq96Wq


      • lyhyestä-virsi-kaunis

        Minulla jäi siihen virhe, joka mahdollisti lottonumerona myös nolla (0), joten korjasin, ja korjaus toi 2 merkkiä lisää: https://pastebin.com/rktRY1FG


      • lottopallokala
        lyhyestä-virsi-kaunis kirjoitti:

        Minulla jäi siihen virhe, joka mahdollisti lottonumerona myös nolla (0), joten korjasin, ja korjaus toi 2 merkkiä lisää: https://pastebin.com/rktRY1FG

        Muutin arvontasilmukan forista whileksi ja sijoitin satunnaisluvun suoraan pop-funktioon. Näyttäisi 103 merkkiä tulevan yhteensä.

        https://pastebin.com/whKj5KMP


      • lyhyestä-virsi-kaunis
        lottopallokala kirjoitti:

        Muutin arvontasilmukan forista whileksi ja sijoitin satunnaisluvun suoraan pop-funktioon. Näyttäisi 103 merkkiä tulevan yhteensä.

        https://pastebin.com/whKj5KMP

        No voihan rähmä, pistin105, ja kun tulin tänne kertoakseni sen, niin täällä oli jo 103. No ei auta, pitää vielä koittaa nipistää edes yksi merkki.


      • lyhyestä-virsi-kaunis
        lottopallokala kirjoitti:

        Muutin arvontasilmukan forista whileksi ja sijoitin satunnaisluvun suoraan pop-funktioon. Näyttäisi 103 merkkiä tulevan yhteensä.

        https://pastebin.com/whKj5KMP

        Nyt on varmaan python imetty kuiviin, jokaista pilkkuakin olen tujottanut vartin, ja miettinyt voiko sen kirjoittaa lyhyemin. 101 tämä viimmeinen: https://pastebin.com/jDd5MMQf

        Lyheni 559 ——> 101, alkukin oli jo huippu hyvä, nyt joutuu jo muita kieliä tarkistamaan, eikös vaan.


      • lottopallokala
        lyhyestä-virsi-kaunis kirjoitti:

        Nyt on varmaan python imetty kuiviin, jokaista pilkkuakin olen tujottanut vartin, ja miettinyt voiko sen kirjoittaa lyhyemin. 101 tämä viimmeinen: https://pastebin.com/jDd5MMQf

        Lyheni 559 ——> 101, alkukin oli jo huippu hyvä, nyt joutuu jo muita kieliä tarkistamaan, eikös vaan.

        Hyvin lyhennetty, en aluksi huomannut edes mitään eroa.

        Sain kuitenkin pudotettua 69:ään. Vaihdoin hieman lähestymistapaa. Eli se 40:n joukko sekoitetaan shufflella, ja siitä vaan tulostetaan 7 ensimmäistä.

        https://pastebin.com/wsTHi3Lv

        Aloin opettelemaan Javaa. Ryhdyin kokeilemaan tässä opettelun alkuvaiheessa myös loton arpomista. Törmäsin Javassa listoja sekoittavaan shuffleen. Vastaava shuffle näkyy löytyvän Pythonistakin. Siinä mielessä toisesta kielestä tuli apua tähänkin.


      • lottopallokala

        Olisi voinut toki pyyhkiä turhat vielä pois, eli 62 merkkiä on nyt tämä viimeisin versioni.

        https://pastebin.com/Q9zDVMY6

        Sen voi ehkä laittaa jopa tähän jatkeeksi, koska ei tarvitse edes sisennyksiä.

        from random import *
        l = [i for i in range(1,40)]
        shuffle(l);
        print(l[:7])


      • lottopallokala
        lottopallokala kirjoitti:

        Olisi voinut toki pyyhkiä turhat vielä pois, eli 62 merkkiä on nyt tämä viimeisin versioni.

        https://pastebin.com/Q9zDVMY6

        Sen voi ehkä laittaa jopa tähän jatkeeksi, koska ei tarvitse edes sisennyksiä.

        from random import *
        l = [i for i in range(1,40)]
        shuffle(l);
        print(l[:7])

        Puolipiste unohtui, Python ei ole Java.

        Lukitsen vastaukseni nyt merkkimäärään 61.

        from random import *
        l = [i for i in range(1,40)]
        shuffle(l)
        print(l[:7])


      • lyhyestä-virsi-kaunis
        lottopallokala kirjoitti:

        Puolipiste unohtui, Python ei ole Java.

        Lukitsen vastaukseni nyt merkkimäärään 61.

        from random import *
        l = [i for i in range(1,40)]
        shuffle(l)
        print(l[:7])

        Tässä ei auta enään kielen vaihtokaan, nyt se jo tuntuu ihan iholla ettei tuo tuosta enään lyhene.
        shuffle joka sekoittaa talukun sisällön, ja kun siitä sitten tulostetaan 7 ensimäistä, poistaa random komennon tarpeen. Vitun hyvä ellei vieläkin parempi.

        Voi jumaksuta, olipa hyvä että avasin ketjun, tässä on monelle pojalle mallia.


      • Kokemus-opettaa
        lottopallokala kirjoitti:

        Puolipiste unohtui, Python ei ole Java.

        Lukitsen vastaukseni nyt merkkimäärään 61.

        from random import *
        l = [i for i in range(1,40)]
        shuffle(l)
        print(l[:7])

        Suomi24:sen helmiä, ehdottomasti.


    • möykynlouhintaa

      Kaikki lottorivi-vaihtoehdot mahtui muistaakseni noin 128 megaan muistia. 1990-luvulla se teki vaikeeta, mutta oli se jännä miettiä että siellä se 128 megan möykyssä on 1 kpl oikea rivi, bitcoin-louhimaan vain siitä möykystä ulos se oikea rivi.

      • pissavatsilmille

        Louhit oikean rivin ja sitten arvonta huomaa sen ja muuttaa rivin. huomaa kyllä ilman matematiikkaakin että tulokset eivät ole "arvontoja".


    • winonkovinhankala

      Yhdellä rivillähän tuo toteutetaan ubuntusa. wintowsissa ilmeisesti vaatii useamman rivin...

      • trollerson

        Kerro miten !


      • assembler-auttaa
        trollerson kirjoitti:

        Kerro miten !

        Esimerkiksi C-kielellä voi kirjoittaa kaiken yhdelle riville. Aloittaja tiedusteli pienintä mahdollista merkkimäärää. No ei sekään ole tosielämän koodaamisessa välttämättä se järkevin tavoite. Aivan hyvin ohjelmointikieleen olisi voitu sisällyttää lotto-luokka, jota hyödyntämällä saisi tuloksen yhdellä funktiolla.

        Optimointi on yleisellä tasolla tietysti järkevää. Se ei ole vaan ainoastaan merkkien kyttäämistä, vaan enemmänkin parempien algoritmien kehittelyä. Ohjelmointikielen valintakin vaikuttaa. Tulkattava kieli on aina tulkattavaa.


    • zkrtzkrt

      Linux bash-skriptinä (kopioi rivi päätteeseen)
      shuf -i 1-40 -n 7
      Jos haluaa tuloksen sortattuna yhdelle riville
      shuf -i 1-40 -n 7 | sort -n | xargs echo

      • echo7oikein

        1 2 3 8 15 31 39
        Nyt sitten miljoonat voittavat... tai sitten ei...


      • suffel-patukka

        Mutta onko tuo ohjelmointia onkin sitten toinen kysymys ;-)

        Windowsin Powershellillä vastaava tehdään jotenkin näin:

        ((1..40)|Sort-Object {Get-Random})[1..7]

        ja suuruusjärjestyksessä:

        ((1..40)|Sort-Object {Get-Random})[1..7] | Sort-Object

        En tiedä onko optimaalisin tapa, mutta tulipahan kokeiltua.. pidempi on joka tapauksessa mitä tuon Linuxin suffelikomennon avulla.


      • lyhyestä-virsi-kaunis

        Sinä saatanan korealainen, pidät meitä pilkkanasi :((
        Nyt tuli Guinnessin ennätystenkirja mieleen, jostakin syystä :))

        Että sitten näin paljon lyheni: 559 ——> 13 merkkiin. Nyt en sano enään että ei lyhene, jos sanon niin heti joku Bosnia-Hertsegovinan kansalainen tulee ja supistaa 7 merkiin.


      • lyhyestä-virsi-kaunis

        Sori, ei pahalla, mutta "zkrtzkrt" toi korean mieleen.


      • Optimoia
        lyhyestä-virsi-kaunis kirjoitti:

        Sinä saatanan korealainen, pidät meitä pilkkanasi :((
        Nyt tuli Guinnessin ennätystenkirja mieleen, jostakin syystä :))

        Että sitten näin paljon lyheni: 559 ——> 13 merkkiin. Nyt en sano enään että ei lyhene, jos sanon niin heti joku Bosnia-Hertsegovinan kansalainen tulee ja supistaa 7 merkiin.

        Jos tuon shuf-komennon muuttaisi renamella vaikka pelkäksi ässäksi, niin lähtisi vielä 3 merkkiä poijes ;-)

        Mutta saahan tämän kyllä supistettua yhteenkin merkkiinkin... jos tälle linjalle lähdetään :-D Tekee vaan komennon joka oksentaa pihalle 7 lukua väliltä 1-40... ja komennon nimi on sitten vaikka "s".


      • lyhyestä-virsi-kaunis
        Optimoia kirjoitti:

        Jos tuon shuf-komennon muuttaisi renamella vaikka pelkäksi ässäksi, niin lähtisi vielä 3 merkkiä poijes ;-)

        Mutta saahan tämän kyllä supistettua yhteenkin merkkiinkin... jos tälle linjalle lähdetään :-D Tekee vaan komennon joka oksentaa pihalle 7 lukua väliltä 1-40... ja komennon nimi on sitten vaikka "s".

        Kyllähän remane ja aliakset kelpaa, mutta silloinhan se on osa suoritusta, ja siihenkin kuluu merkkejä.


      • merkki.merkistä
        lyhyestä-virsi-kaunis kirjoitti:

        Kyllähän remane ja aliakset kelpaa, mutta silloinhan se on osa suoritusta, ja siihenkin kuluu merkkejä.

        Pitäiskös tässä laskea kaikki toimenpiteet? Bash taitaa aueta Ctrl Alt T:llä. Kolme näppäintä kuluu siihenkin.


      • lyhyestä-virsi-kaunis
        merkki.merkistä kirjoitti:

        Pitäiskös tässä laskea kaikki toimenpiteet? Bash taitaa aueta Ctrl Alt T:llä. Kolme näppäintä kuluu siihenkin.

        Eihän nyt näppäilyjä lasketa, vaan merkkejä jotka näkyvät.


    • TehoKesoil

      VoimaEssolla yhdelle riville.

      (((1..40)|Sort-Object {Get-Random})[1..7] | Sort-Object) -join " "

      • lyhyestä-virsi-kaunis

        VoimaEssolla (PowerShell) näyttää myös onnistuvan.


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Vasemmistohallitus palauttaa hintasääntelyn, esim. bensalitra vain 1e.

      Tuleva vasemmistolaisista koostuva hallitus ottaa käyttöön vanhat hyvät keinot pitää hinnat kurissa. Tähän tarkoitukse
      Maailman menoa
      86
      4650
    2. Vasemmistolainen valehteli jälleen - Purra tai persut eivät luvanneet "euron bensaa"

      Väite "euron bensasta" on ensisijaisesti poliittisten vastustajien käyttämä puhdas vale. Persut kyllä kampanjoivat näky
      Maailman menoa
      109
      3837
    3. Arman Alizadin viesti puna-aktivisteille: "Pitäkää lärvinne nytkin kiinni"

      Arman Alizad kritisoi vasemmiston kaksinaismoralismia. Iranissa syntynyt suosikkijuontaja Arman Alizad pakeni perheensä
      Maailman menoa
      179
      3655
    4. Minja Koskela nostanut vasemmistoliiton kannatuksen ennätykseen

      Koskela valittiin puolueen johtoon lokakuussa 2024, ja silloin Ylen kysely antoi puolueelle 9,3 prosentin kannatuksen.
      Maailman menoa
      68
      2096
    5. Antti johtaa Petteriä jo 7,1 prosenttiyksiköllä

      Tällä menolla sdp menee kokoomuksesta kierroksella ohi jo tällä vaalikaudella. https://yle.fi/a/74-20213575
      Maailman menoa
      75
      1941
    6. Mitä on tullut

      Entisen abcn rakennuksen tilalle se oli tyhjillään monta vuotta siellä oli jo nyt valot onko huoltoasema? 5:30.
      Haapavesi
      79
      1288
    7. Harmi nainen kun

      olet niin elähtäneen näköinen. Miestä et koskaan löydä itelles. j
      Ikävä
      130
      1152
    8. Palosta selvinnyt 18 vuotias munira tarvitsi tulkin kun puhui Iltalehdelle

      Suomessa asuva 18 vuotias tarvii tulkin !!! Tää Suomea puhumaton on palossa kuolleen naisen veli ja asui perheen kanssa.
      Vantaa
      147
      1094
    9. Minne pyydän sut?

      Jotta saan nähdä 🤨
      Ikävä
      50
      1000
    10. Mikä homma?

      https://share.google/NvruSS4P4EzjTWPov Poliisilla oli keskiviikkona 4. maaliskuuta yksityisasunnossa Saarijärvellä tehtä
      Saarijärvi
      30
      904
    Aihe