Seuraa 
Viestejä3

Voisiko joku huomattavasti minua fiksumpi kaveri vähän valaistaa, mitä tässä oikein kysytään. Eli tehtävänanto:

Tekniikan opiskelijan lounaspaikassa on kolmenlaisia pitsoja: peruspitsa, ruispitsa ja pannupitsa. Pitsoihin valitaan 12 täytteestä kaksi erilaista. Maksamalla euron lisää voi valita vielä kolmannen täytteen. Opiskelija yrittää syödä aina erilaisen pitsan, joka eroaa kaikista aiemmista joko pohjaltaan tai täytteiltään. Kuinka monta viikkoa hän voi tehdä näin, jos hän syö ravintolassa viitenä päivänä viikossa? Anna vastaus kokonaislukuna ilman yksikköä.
Olen koittanut laskea tätä k-kombinaation kaavan mukaisesti (12 * 11* 10 / 2 * 3) * 3 = 660. Ja sitten jakaa 660/5, tulee 132.

Sivut

Kommentit (78)

Veli Ponteva
Seuraa 
Viestejä954

Minun mielestä on loogista ottaa esimerkiksi 2 x punasipuli - ja usein otankin. Tehtävän anto on vähän epäselvä. Saako saman täytteen tuplata ja triplata?

Selkärankaisten laskupää on yhtä hyvä kuin pikkulasten – jotkin osaavat jopa yhteen- ja vähennyslaskua

Sisältö jatkuu mainoksen alla
Sisältö jatkuu mainoksen alla
Veli Ponteva
Seuraa 
Viestejä954

Ja ohessa vielä koodi, jos siitä on apua, kun rupeaa tutkimaan pizza-ongelmaa tarkemmin:

# include < stdio.h >

typedef int pizza;

int uusi_pizza(pizza uusi)
{
   static pizza X[1<<16];
   static int pizza_kpl=0;

   for (int i=0; i<pizza_kpl; i++)
   {
      if (uusi==X[i]) return 0;
   }
   X[pizza_kpl]=uusi;
   ++pizza_kpl;
   return 1;
}

// tuotetaan satunnaiskokonaisluku
unsigned long rnd(unsigned max)
{
   static unsigned long R16A=1L;
   static unsigned long R16B=2L;
   R16A -= 0x012357bfL;
   R16B += 0xfedca201L;
   R16A += (R16A>>16)^(R16B<<16);
   R16B -= (R16A<<16)^(R16B>>16);
   return (R16A^R16B)%max;
}

void swap(char &a, char &b)
{
   char c=a; a=b; b=c;
}

pizza arvo_uusi_pizza(void)
{
   pizza x=rnd(3)<<24;
   char *p=(char*)&x;

   p[0]=rnd(12);
   do
   {
      p[1]=rnd(12);
   } while (p[0]==p[1]);

   if (rnd(2))
   p[2]=rnd(12);

   if (p[0]<p[1]) swap(p[0], p[1]);
   if (p[0]<p[2]) swap(p[0], p[2]);
   if (p[1]<p[2]) swap(p[1], p[2]);

   return x;
}

void main(void)
{
   int pizzoja=0;

   for (;;)
   {
      pizza uusi=arvo_uusi_pizza();
      if (uusi_pizza(uusi))
      {
         ++pizzoja;
         printf("%d\n", pizzoja);
      }
   }
}

Selkärankaisten laskupää on yhtä hyvä kuin pikkulasten – jotkin osaavat jopa yhteen- ja vähennyslaskua

PPo
Seuraa 
Viestejä14503

maikkeli kirjoitti:
Voisiko joku huomattavasti minua fiksumpi kaveri vähän valaistaa, mitä tässä oikein kysytään. Eli tehtävänanto:

Tekniikan opiskelijan lounaspaikassa on kolmenlaisia pitsoja: peruspitsa, ruispitsa ja pannupitsa. Pitsoihin valitaan 12 täytteestä kaksi erilaista. Maksamalla euron lisää voi valita vielä kolmannen täytteen. Opiskelija yrittää syödä aina erilaisen pitsan, joka eroaa kaikista aiemmista joko pohjaltaan tai täytteiltään. Kuinka monta viikkoa hän voi tehdä näin, jos hän syö ravintolassa viitenä päivänä viikossa? Anna vastaus kokonaislukuna ilman yksikköä.
Olen koittanut laskea tätä k-kombinaation kaavan mukaisesti (12 * 11* 10 / 2 * 3) * 3 = 660. Ja sitten jakaa 660/5, tulee 132.

Pohja voidaan valita 3 tavalla

2 täytettä 12*11/2=66 tavalla

3 täytettä 12*11*10/(2*3)=220 tavalla

Erilaisia pitsoja on 3*66+3*220=858

858/5=171,6

171 kokonaista viikkoa.

Veli Ponteva
Seuraa 
Viestejä954

elmis kirjoitti:
Laskitko mukaan myös kahden täytteen tapauksen?

PS. Mielestäni tehtävänanto kielsi saman täytteen tuplaamisen tai triplaamisen.

Jep, saman täytteen tuplaamisen ilman lisämaksua. Mutta jos maksaa ylimääräisestä täytteestä, kokki ei voi sanoa, että sinulla on jo punasipulia, joten en anna - vaikka omistaisit tämän pizzerian.

Selkärankaisten laskupää on yhtä hyvä kuin pikkulasten – jotkin osaavat jopa yhteen- ja vähennyslaskua

Veli Ponteva
Seuraa 
Viestejä954

Ero tietokoneen ja teidän tulosten välillä on se, että ohjelma antaa lisätäytteen riippumatta kahdesta ilmaisvalitusta täytteestä.

Selkärankaisten laskupää on yhtä hyvä kuin pikkulasten – jotkin osaavat jopa yhteen- ja vähennyslaskua

wisti
Seuraa 
Viestejä14563

Rasvaperse kirjoitti:
elmis kirjoitti:
Laskitko mukaan myös kahden täytteen tapauksen?

PS. Mielestäni tehtävänanto kielsi saman täytteen tuplaamisen tai triplaamisen.

Jep, saman täytteen tuplaamisen ilman lisämaksua. Mutta jos maksaa ylimääräisestä täytteestä, kokki ei voi sanoa, että sinulla on jo punasipulia, joten en anna - vaikka omistaisit tämän pizzerian.


Sinun pitää riidellä tehtävän asettaneen ”opettajan” kanssa. Siitä et rahalla selviä.

Veli Ponteva
Seuraa 
Viestejä954

Kun tein ohjelmaan muutoksen, että kaikki kaksi (myös kolmas, jos se otetaan) ovat eri sorttia, erilaisia pizzoja on 693, eli:

693/5=13 viikkoa.

Nyt on varmaa, että lasku on laskettu väärin tai pizza-ohjelmani bugittaa.

Selkärankaisten laskupää on yhtä hyvä kuin pikkulasten – jotkin osaavat jopa yhteen- ja vähennyslaskua

wisti
Seuraa 
Viestejä14563

Rasvaperse kirjoitti:
Kun tein ohjelmaan muutoksen, että kaikki kaksi (myös kolmas, jos se otetaan) ovat eri sorttia, erilaisia pizzoja on 693, eli:

693/5=13 viikkoa.

Nyt on varmaa, että lasku on laskettu väärin tai pizza-ohjelmani bugittaa.


Monellako tavalla tusinasta (12) voidaan valita kolmen ryhmä?

jarppah
Seuraa 
Viestejä1389

wisti kirjoitti:
Rasvaperse kirjoitti:
Kun tein ohjelmaan muutoksen, että kaikki kaksi (myös kolmas, jos se otetaan) ovat eri sorttia, erilaisia pizzoja on 693, eli:

693/5=13 viikkoa.

Nyt on varmaa, että lasku on laskettu väärin tai pizza-ohjelmani bugittaa.


Monellako tavalla tusinasta (12) voidaan valita kolmen ryhmä?

Ilman rajoituksia 12^3

jarppah
Seuraa 
Viestejä1389

jarppah kirjoitti:
wisti kirjoitti:
Rasvaperse kirjoitti:
Kun tein ohjelmaan muutoksen, että kaikki kaksi (myös kolmas, jos se otetaan) ovat eri sorttia, erilaisia pizzoja on 693, eli:

693/5=13 viikkoa.

Nyt on varmaa, että lasku on laskettu väärin tai pizza-ohjelmani bugittaa.


Monellako tavalla tusinasta (12) voidaan valita kolmen ryhmä?

Ilman rajoituksia 12^3

Ohiheittoon,, sori lukihäiriö

jarppah
Seuraa 
Viestejä1389

jarppah kirjoitti:
jarppah kirjoitti:
wisti kirjoitti:
Rasvaperse kirjoitti:
Kun tein ohjelmaan muutoksen, että kaikki kaksi (myös kolmas, jos se otetaan) ovat eri sorttia, erilaisia pizzoja on 693, eli:

693/5=13 viikkoa.

Nyt on varmaa, että lasku on laskettu väärin tai pizza-ohjelmani bugittaa.


Monellako tavalla tusinasta (12) voidaan valita kolmen ryhmä?

Ilman rajoituksia 12^3

Ohiheittoon,, sori lukihäiriö

Piti olla: ohhoh lukihäiriö... muun hölmöilyn päälle känny kirjoittelee omiaan😁

Sivut

Suosituimmat

Uusimmat

Sisältö jatkuu mainoksen alla

Uusimmat

Suosituimmat