Programmering - maraton

Her kan du stille spørsmål vedrørende problemer og oppgaver i matematikk for videregående skole og oppover på høyskolenivå. Alle som føler trangen er velkommen til å svare.

Moderatorer: Aleks855, Gustav, Nebuchadnezzar, Janhaa, DennisChristensen, Emilga

Mattebruker
Weierstrass
Weierstrass
Innlegg: 456
Registrert: 26/02-2021 21:28

Gustav presenterte eit sofistikert program som kjem ut med rett svar( 0.5731441 ). Må vedgå at eg forstod svært lite av denne løysinga.
Har sjølv laga eit program som tel opp antal kombinasjonar med sum = 6, sum = 7,................................., sum = 35 og sum = 36 for dei to terninggruppene.
Eksempel: Terningkast(6 objekt) har 4221 kombinasjonar med sum auge = 20 , medan pyramidekast( 9 objekt ) har 23607 kombinasjonar som gir same sum ( 20 ). Sjå vedlagt kode.
Kan nokon av dykk , Aleks eller Gustav , kort forklare vegen vidare for å kome i mål ?

Kode: Velg alt

from pylab import *
tsum = zeros(37)
psum = zeros(37)
     #
     # Terningkast(6 objekt ) - tel opp antal utfall med gitt sum. 
     #
for i in range(1,7):
  for j in range(1,7):
    for k in range(1,7):
      for l in range(1,7):
        for m in range(1,7):
          for n in range(1,7):
            sum = i + j + k + l + m + n
            tsum[sum] = tsum[sum] + 1
print(tsum[20])
#
#        Pyramidekast(9 objekt) - tel opp antal utfall med gitt sum.
#
for i in range(1,5):  
  for j in range(1,5):
    for k in range(1,5):
      for l in range(1,5):
        for m in range(1,5):
          for n in range(1,5):
            for p in range(1,5):
              for q in range(1,5):
                for r in range(1,5):
                  sum = i + j + k + l + m + n + p + q + r
                  psum[sum] = psum[sum] + 1
print(psum[20])          
Aleks855
Rasch
Rasch
Innlegg: 6855
Registrert: 19/03-2011 15:19
Sted: Trondheim
Kontakt:

Det ser ut som du har riktige tabeller av utfall.

Nå gjenstår selve $\frac{\text {gunstige}}{\text {mulige}}$. Så problemet er redusert til; hvordan skal du telle opp antall resultater der pyramidene slår kubene?
Bilde
Mattebruker
Weierstrass
Weierstrass
Innlegg: 456
Registrert: 26/02-2021 21:28

Takk for tilbakemelding, Aleks. Kom i mål til slutt , sjølv om mi løysing er mindre "raffinert" enn den Gustav bar til torgs.
Uansett; ei utfordrande, interessant og lærerik oppgave.

Kode: Velg alt

from pylab import *
tsum = zeros(37)
psum = zeros(37)
#
# Kubekast( 6 objekt) - tel opp antal utfall med gitt sum
#
for i in range(1,7):
  for j in range(1,7):
    for k in range(1,7):
      for l in range(1,7):
        for m in range(1,7):
          for n in range(1,7):
            sum = i + j + k + l + m + n
            tsum[sum] = tsum[sum] + 1
#
# Pyramidekast( 9 objekt) - tel opp antal utfall med gitt sum
# 
for i in range(1,5):
  for j in range(1,5):
    for k in range(1,5):
      for l in range(1,5):
        for m in range(1,5):
          for n in range(1,5):
            for p in range(1,5):
              for q in range(1,5):
                for r in range(1,5):
                  sum = i + j + k + l + m + n + p + q + r
                  psum[sum] = psum[sum] + 1
gunstige = 0
for i in range(9,37):
  sum = 0
  for j in range(6,i):
    sum = sum + tsum[j]
  gunstige = gunstige + psum[i]*sum 
mulige = (4**9)*(6**6)
sannsyn = gunstige/mulige
print("Sannsyn = ", round(sannsyn*10**7) /10**7)
Aleks855
Rasch
Rasch
Innlegg: 6855
Registrert: 19/03-2011 15:19
Sted: Trondheim
Kontakt:

Kjempebra!

Den oppgaven var kanskje litt mer kompleks enn de øvrige oppgavene, men det er vel forventet at det blir litt variasjon.

Noen som har en oppfølger?
Bilde
Gustav
Tyrann
Tyrann
Innlegg: 4555
Registrert: 12/12-2008 12:44

Kan jo ta denne da:

70 fargede baller er plassert i en urne, 10 av hver av de 7 regnbuefargene. Hva er det forventede antall forskjellige farger hvis man tilfeldig trekker 20 baller?

Gi svaret avrundet til 9 desimaler.
Mattebruker
Weierstrass
Weierstrass
Innlegg: 456
Registrert: 26/02-2021 21:28

Spørsmål til Gustav: Finnast der ein metode for å finne talet på heiltallige løysingar til f.eks. likninga

a + b + c + d + e + f + g = 20 , {a , b , c , d , e , f , g } [tex]\subset[/tex] N ?
Gustav
Tyrann
Tyrann
Innlegg: 4555
Registrert: 12/12-2008 12:44

Mattebruker skrev: 07/08-2022 19:12 Spørsmål til Gustav: Finnast der ein metode for å finne talet på heiltallige løysingar til f.eks. likninga

a + b + c + d + e + f + g = 20 , {a , b , c , d , e , f , g } [tex]\subset[/tex] N ?
Ja, sjekk ut denne linken https://en.wikipedia.org/wiki/Stars_and ... inatorics)
Mattebruker
Weierstrass
Weierstrass
Innlegg: 456
Registrert: 26/02-2021 21:28

Takk for tips. Nyttig info ! Dersom eg har forstått formelen rett, har likninga

x[tex]_{1}[/tex] + x[tex]_{2}[/tex] + x[tex]_{3}[/tex] + x[tex]_{4}[/tex] + x[tex]_{5}[/tex] + x[tex]_{6}[/tex] + x[tex]_{7}[/tex] = 20

[tex]\binom{20 - 1}{7 - 1}[/tex] = [tex]\binom{19}{6}[/tex] = 27132 positive , heiltallige løysingar , der kvar av x-ane representerer ein bestemt farge i "regnbogen".
Da står det att å "luke ut" alle løysingar der ein ( og berre ein ) av x-ane er større enn 10. I skrivande stund ser eg ikkje heilt for meg korleis løyse dette
problemet. Men når denne hindringa er rydda av vegen, burde det vere ei overkommeleg oppgave å finne den forventningsverdien ( E(X ) ) du spør etter.
Mattebruker
Weierstrass
Weierstrass
Innlegg: 456
Registrert: 26/02-2021 21:28

Enda opp med dette svaret: E( X ) = 5.525443787. Kva seier dommaren ?

Kode: Velg alt

from pylab import *
antal = zeros(8)
#
#     Finne antal utfall med 7 fargar
#
 
for i in range(1,11):
  for j in range(1,11):
    for k in range(1,11):
      for l in range(1,11):
        for m in range(1,11):
          for n in range(1,11):
            for p in range(1,11):
              sum = i + j + k + l + m + n + p
              if sum == 20:
               antal[7] = antal[7] +1
print(antal[7])                
# Finne antal utfall med 6 fargar
#
for i in range(1,11):
  for j in range(1,11):
   for k in range(1,11):
     for l in range(1,11):
      for m in range(1,11):
        for n in range(1,11):
          sum = i + j + k + l + m + n 
          if sum == 20:
            antal[6] = antal[6] + 1
antal[6] = antal[6]*7
#
#    Finne antal utfall med 5 fargar
#
for i in range(1,11):
  for j in range(1,11):
    for k in range(1,11):
      for l in range(1,11):
        for m in range(1,11):
          sum = i + j + k + l + m
          if sum == 20:
            antal[5] = antal[5] + 1
antal[5] = antal[5]*21 # 7 "over" 5 = 21
#
#   Finne antal utfall med 4 fargar
#  
for i in range(1,11):
  for j in range(1,11):
    for k in range(1,11):
      for l in range(1,11):
        sum = i + j + k + l
        if sum ==20:
          antal[4] = antal[4] + 1
antal[4] = antal[4]*35
#
#  Finne antal utfall med 3 fargar
#
for i in range(1,11):
  for j in range(1,11):
    for k in range(1,11):
      sum = i + j + k
      if sum == 20:
        antal[3] = antal[3] + 1
antal[3] = antal[3]*35
#
antal[2] = 1 * 21 # 7 "over 2" = 21
sumantal = 0; sumvekt = 0
for i in range(2,8):
  sumantal = sumantal + antal[i]
  sumvekt = sumvekt + i*antal[i]
Expec = sumvekt/sumantal
print("Forventa tal fargar: ", round(Expec*10**9)/10**9)
Gustav
Tyrann
Tyrann
Innlegg: 4555
Registrert: 12/12-2008 12:44

Dessverre ikke korrekt :( Fasiten sier et noe større tall...
Mattebruker
Weierstrass
Weierstrass
Innlegg: 456
Registrert: 26/02-2021 21:28

Hallo ! Har skrive heile koden på nytt og får same svaret ( 5.525443787)
Bruk av alle sju fargane har 26544 ulike utfall. Kan du kontrollere at dette talet stemmer ?
Gustav
Tyrann
Tyrann
Innlegg: 4555
Registrert: 12/12-2008 12:44

Mattebruker skrev: 08/08-2022 18:20 Hallo ! Har skrive heile koden på nytt og får same svaret ( 5.525443787)
Bruk av alle sju fargane har 26544 ulike utfall. Kan du kontrollere at dette talet stemmer ?
Du skrev vel selv 27132 i forrige innlegg? Som er riktig
Mattebruker
Weierstrass
Weierstrass
Innlegg: 456
Registrert: 26/02-2021 21:28

Viser til siste innlegget ditt , Gustav.
Du oppgir 27132 utfall med sju fargar. Men då tek vi med også dei utfalla der ein av x-ane er større enn10, eks. 11 + 2 +2 +2 + 1 + 1 + 1.
Dette kjem i konflikt med premissane i oppgava: Kvar av dei sju fargane er representert med 10 kuler.
Gustav
Tyrann
Tyrann
Innlegg: 4555
Registrert: 12/12-2008 12:44

Ok, jeg misforsto hva du mente.

Du har vel ikke inkludert utfall der man plukker f.eks 10 røde og 10 gule, og 0 andre farger her?
Aleks855
Rasch
Rasch
Innlegg: 6855
Registrert: 19/03-2011 15:19
Sted: Trondheim
Kontakt:

Jeg har forlatt matematikken i protest og frustrasjon. Men er jeg i nærheten?

Bilde
Bilde
Svar