Montako erinlaista jonoa 6 ihmisestä muodostuu

Anonyymi

Siis aina on jonossa kaikki 6 ihmistä.

Millä ohjelmointikielellä tämän tehtävän ratkaisu vie vähiten merkkejä?

45

335

    Vastaukset 45

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      C vei 123 merkkiä.

      #include <iostream>
      int f( int n)
      { if (n == 0) { return 1; } return n*f(n-1); }
      int main() { std::cout << f(6) << "\n"; }

    • Anonyymi

      Yksi jono jossa kaikki samat kusipäät.

    • Anonyymi

      Erinlaista ei yhtään, erilaisia voi jokunen tullakin.

      • Anonyymi

        Tuo on ihan homokieltä tuo "erilaisia". Erinlaisia tai erillaisia tuntuu sopivan miehen suuhun paremmin, ku se miehe siitin, jota nämä torjunta-aineiden tuottamat homot lutkuttaa...


      • Anonyymi
        Anonyymi kirjoitti:

        Tuo on ihan homokieltä tuo "erilaisia". Erinlaisia tai erillaisia tuntuu sopivan miehen suuhun paremmin, ku se miehe siitin, jota nämä torjunta-aineiden tuottamat homot lutkuttaa...

        Eikö tämä homojenasiantuija ja äidinkielen opettaja osanneet laskea, vai eivätkö tiedä vaan tietotekniikasta mitään.


      • Anonyymi
        Anonyymi kirjoitti:

        Tuo on ihan homokieltä tuo "erilaisia". Erinlaisia tai erillaisia tuntuu sopivan miehen suuhun paremmin, ku se miehe siitin, jota nämä torjunta-aineiden tuottamat homot lutkuttaa...

        Asiantuntija vastaa taas.


      • Anonyymi
        Anonyymi kirjoitti:

        Eikö tämä homojenasiantuija ja äidinkielen opettaja osanneet laskea, vai eivätkö tiedä vaan tietotekniikasta mitään.

        Olet joku homo ja et tajua meitä normaaleja. Katoppa Areenasta ohjelma, jossa kasvismyrkyt aiheuttaa rotillekkin homostelua.


    • Anonyymi

      #! /bin/bash
      expr 6 \* 6

      • Anonyymi

        Tämä on väärin!


      • Anonyymi
        Anonyymi kirjoitti:

        Tämä on väärin!

        Kerroppa arvuuttelia tuo, kun alat päteä, ! Tasan on oikein, ellei jonosta aleta hyppimään ristiinrastiin toiseen jonoon, siittähän tulee loputon?


    • Anonyymi

      Täällä on niin vähän tietotekniikasta jotain tietäviä, että jos ne kaksi osaajaa jotain kirjoittelee, heti haukutaan homoksi.

      • Anonyymi

        Ohjelmien rustaaminen ei ole koko tietotekniikka.


      • Anonyymi
        Anonyymi kirjoitti:

        Ohjelmien rustaaminen ei ole koko tietotekniikka.

        Ei täällä kukaan ole mitään rustannut, vai missä olisi?
        T:; Keppi Keinonen


      • Anonyymi

        Ei kukaan ole haukkunut ketään.


    • Anonyymi

      JS, 42 merkkiä

      var f=n=>n<2?1:n*f(n-1);console.log(f(6));

      • Anonyymi

        Tämä on oikein.


    • Anonyymi

      Pyyttönillä.

      #! /bin/python3
      n=6
      tulos=1
      while n>1:
          tulos*=n
          n-=1
      print(tulos)

      • Anonyymi

        Tämä on väärin.


      • Anonyymi
        Anonyymi kirjoitti:

        Tämä on väärin.

        6 * 5 * 4 * 3 * 2 * 1 = 720

        MOT


    • Anonyymi

      Pyytton 3.8:lla voi käyttää perm-funktiota.

      #! /bin/python3.8
      from math import perm
      print(perm(6))

      • Anonyymi

        Minulla änkäs jättiläispythoni aamun sarastaessa wc-pönttöön, ja siitä jatkoi matkaansa perämereen, nyt lisää kahvia ja tupakkia :-).. .. ... ...


      • Anonyymi
        Anonyymi kirjoitti:

        Minulla änkäs jättiläispythoni aamun sarastaessa wc-pönttöön, ja siitä jatkoi matkaansa perämereen, nyt lisää kahvia ja tupakkia :-).. .. ... ...

        Et ole sitten Lehtomäen laitteistoa mökkiisi hommannut.


      • Anonyymi

        Python 55 merkkiä.

        Tämä on oikein.


      • Anonyymi

        3.8:n toinen uusi matikkafunktio on comb. Esimerkiksi lottoarvonnan 39:stä pallosta saadaan 7 pallon vaihtoehtoja:

        >>> from math import comb
        >>> comb(39,7)
        15380937


      • Anonyymi
        Anonyymi kirjoitti:

        3.8:n toinen uusi matikkafunktio on comb. Esimerkiksi lottoarvonnan 39:stä pallosta saadaan 7 pallon vaihtoehtoja:

        >>> from math import comb
        >>> comb(39,7)
        15380937

        Hienoa, onkohan siinä nyt kombinaatio, permutaatio vai variaatio laskusta kyse. Python tekee monet asiat yksinkertaisiksi loppukäyttäjälle.


      • Anonyymi
        Anonyymi kirjoitti:

        Hienoa, onkohan siinä nyt kombinaatio, permutaatio vai variaatio laskusta kyse. Python tekee monet asiat yksinkertaisiksi loppukäyttäjälle.

        comb(n,k) laskee n!/(k!*(n-k)!), kun k<=n. Muussa tapauksessa palauttaa nollan.


    • Anonyymi

      Bass Shell 48 merkkiä.

      f=1;for((i=2;i<=6;i )){ f=$((f*i)); };echo $f;

      • Anonyymi

        Tämä on väärin.


    • Anonyymi

      Ohjelmakoodi pitää kirjoittaa selkeäksi, ja sitä on kommentoitava lähdetiedostossa runsaasti, eikä suinkaan ole pyrittävä mahdollisimman kryptiseen lyhyyteen.

      • Anonyymi

        Tämä on oikein.


      • Anonyymi
        Anonyymi kirjoitti:

        Tämä on oikein.

        Tuohan on kopioitu netistä. eikä edes oikein.


    • Anonyymi

      PHP 50 merkkiä.

      $f=1; for($i=1; $i<=6; $i ){$f=$f*$i;}; echo $f;

      • Anonyymi

        Tämä on oikein.

        huom. PHP:n interaktiivinen komentotulkki, käynnistetään:

        php -a


    • Anonyymi

      Valitettavasti, rannalle jääneet ruikuttajat sotkivat tämän ketjun.

    • Anonyymi

      Heapin algoritmillä saattaisi onnistua.

    • Anonyymi

      Taskulaskimella ja Linuxin laskimella se on 2 merkin mittainen juttu.

      6! ja Enteriä perään.

      Joo, tiedän, ei kuulu asiaan suoranaisesti.

      • Anonyymi

        Mutta millainen algoritmi niissä laskimissa on sisällä?


    • Anonyymi

      PERL 60 merkkiä.

      '$f=1;for($i=1; $i<=6; $i=$i 1){$f=$f*$i;}; print($f,"\n")'

      Ajetaan komentokehotteesta käsin:

      perl -e

    • Anonyymi

      Pythonilla on jo ratkaisuja tullut, mutta tässä olisi vähän erilainen, funktionaalinen tapa, (58 merkkiä):

      f=lambda n:reduce(lambda a,b:a*b,range(1,n 1))
      print(f(6))

      SageMath:issä olisi product-funktio valmiina (ja sen voi näköjään vielä lyhentää prod)

      prod(range(1, 7))

      Noh, jos kirjastojen käyttö sallitaan (Sage tietenkin on kokonaan oma kielensä eikä pelkkä Pythonin kirjasto), niin tuo jo mainittu math.perm on kaiketi paras. Onhan siinä aina importtauksesta tuleva koodin pituus, mutta itse koodi on sitten jo melko lyhyenläntä.

    • Anonyymi

      SPOILER ALERT!!!!
      SE Code golfissa:
      https://codegolf.stackexchange.com/questions/607/find-the-factorial

      Poiminpa tähän nyt tuolta joitain ratkaisuja

      JS, 17:
      f=n=>!n||n*f(n-1)

      Python, 27:
      f=lambda x:0**x or x*f(x-1)

      Haskell, 17:
      f n=product[1..n]

      C, 39:
      double f(int n){return n<2?1:n*f(n-1);}

      C, 23 (häcki!):
      f(a){a=a>0?f(a-1)*a:1;}


      Onhan tuolla lyhyempiäkin hieman esoteerisemmilla kielillä. Esim.
      APL 4 merkkiä:
      ×/∘⍳
      ja MATL 2 merkkiä:
      :p

      Noh, eikös tuo olisi jo melkein sama asia kuin laskimen "n!"? Ei kai, koska kyseessä lienee oikea ohjelmointikieli: ':' tekee listan ja 'p' laskee sen tulon. Missään ohjelmointikielessä ei asetettane kertomalle omaa merkkiään.

    • Anonyymi

      Approximatiivinen (Stirlingin kaava) ratkaisu Pythonilla.

      import math

      def f(n):
      if n==0: return 1
      return (2*math.pi*n)**0.5 * (
      n/math.e)**n * (1 1.0/(12*n) 1/(288.0*n**2)
      -139/(51840*n**3 - 571/(2488320*n**4))
      )

      • Anonyymi

        No, ja piste (että tulee float laskut) nollat unohtu vika riviltä!


    • Anonyymi

      Ensimmäinen on oikein.

    • Anonyymi

      C-kielellä:

      #include <stdio.h>

      int tulos=1;

      int funktio(int kertoja) {
          tulos=tulos*kertoja;
          if (kertoja>=2) funktio(--kertoja);
          return tulos;
      }

      void main(void) {
          printf("%d\n",funktio(6));
      }

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

    Luetuimmat keskustelut

    1. Ampuminen kylpylässä

      Onko vornasen timbe käynyt hiukan kylpemässä vai mikä tämä ampumatapaus on kylpylässä? Tuntuu aika villi meno olevan naa
      Naantali
      74
      1670
    2. Naantalin kylpylän ampujat

      Oli somppumatuja. Nyt mennään. Suomi on ruotsi.
      Maailman menoa
      23
      1172
    3. Kemijärvellä vesionnettomuus

      Pitkänsillan ja taiteilijanniemen välillä nähty henkilön painuvan veden alle. Mitä on tapahtunut? Onko vesihiisi taas as
      Kemijärvi
      32
      1073
    4. Hei, voitko kuunnella

      Voisitko auttaa minua selvittämään asioita? En halua ajaa sinua hulluuteen kanssani, en sitoa sinua, en esittää vaatimu
      Ikävä
      134
      906
    5. Joku porukka lähtenyt täältä

      Ihmeen hiljainen on palsta nyt. Yleensä tänne tulvii aloituksia yms, mutta nyt on kyllä erikoisen hiljaista.
      Ikävä
      189
      826
    6. Miten yrität

      Vielä saada kaivattusi?
      Ikävä
      64
      694
    7. Olipa yllätys

      Kuten hyvin moni tiesi/arvasi että valetta alusta loppuun toi *olemme ystäviä* satu. Instassaan käsi kädessä kuva kertoo
      Kotimaiset julkkisjuorut
      192
      609
    8. On todella ikävää

      Todella ikävää, että asiat ovat menneet tällaisiksi. Tämä ei ollut missään vaiheessa tarkoitukseni. Olen tehnyt virheit
      Ikävä
      79
      598
    9. Tuletko tänään

      Jos soitan? Niin... tuletko?🖤
      Ikävä
      49
      561
    10. 70
      539
    11. Se kun olit pitkästä aikaa silmieni edessä

      Oli kyllä sykähdyttävää. Tiedätkö, mikä laittaa minut ikävöimään sinua? Kun palautan mieleeni valtavan ihanan olemuksen,
      Ikävä
      32
      518
    12. Ottanet yhteyttä

      Facebookissa,jos on jotain asiaa.Miehelle! T.M-nainen.
      Ikävä
      55
      507
    13. Muutto auto hakee sut tänään!

      Tein sulle oman huoneen! mieheltä naiselle
      Ikävä
      57
      485
    14. Oletteko koskaan torjuneet kaivattuanne?

      Minä olen, kun en silloin tajunnut vielä ihastuneeni. Yritin paikata tapahtunutta, mutta ei onnistunut enää.
      Ikävä
      25
      457
    15. Kai sä mies ymmärrät..

      ..ettet jättänyt vaihtoahtoa. Tottakai toivon vielä, että pystyisit toimimaan niin että asiat korjaantuisivat. Vahvast
      Ikävä
      28
      432
    16. 34
      424
    17. En tiedä mitä sanoa

      Siksi en vastannut😔
      Ikävä
      33
      423
    18. Jos kaivattusi olisi

      Vieressäsi niin mitä tekisit?
      Ikävä
      40
      417
    19. Kiinni jäit

      Ei olisi uskonut sinusta
      Ikävä
      16
      409
    20. Päivän galluppi

      Minkälainen ehkäisy sinkkupalstalaisilla käytössä?
      Sinkut
      82
      398
    Aihe