Pitäis tehdä nopan heitto ohjelma jossa tutkitaan millä tod.näköisyydellä kutosen jälkeen tulee uudestaan kutonen. Ilmeisesti pitäis tehdä joku DO WHILE -juttu, mut ei mee mun kaaliin miten se pitäis tehä. Osaaks joku antaa vinkkiä...
Nopan heittoa
Haubo
17543
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 17
Vanhimmat
Todennäköisyys on kaikissa tapauksissa se sama vakio 1/6
Näinhän se on. Hieman monipuolisemman ohjelmasta saat jos teet metodin joka ottaa parametriksi numeron väliltä 1-6 ja palauttaa sitten aina numeron 1/6.
Ja lotosta joko voittaa tai ei
Siihenhän se pystyy ilman parametriakin.
Vastaanpa itselleni ku sain vihdoinki homman toimimaan:
for (int i = 0; i < 10000;) {
do {
tulos = 1 (int) (Math.random() * 6) ;
i ;
} while (tulos != 6);
laskuri1 ;
tulos2 = 1 (int) (Math.random() * 6) ;
if (tulos2 == 6) {
laskuri2 ;
}
}
Eli siis... Kutonen tuli laskuri1 kertaa (eli noin 1600) ja heti sen perään tuli uudestaan kutonen laskuri2 kertaa (eli noin 270).
PS. Kiitti vaan kaikille "fiksuista" vastauksista.
Ehkä kannattaa kuitenkin huomata että tuo koodi ei tee ihan sitä mitä alkuperäisessä viestissä kaipailtiin.
Tietyn silmäluvun arpomisen todennäköisyys (tasapainoisella) arpakuutiolla on vakio 1:6 ; se ei vaadi minkäänlaista ohjelmointia. Asiaan ei vaikuta mitä silmälukuja on sitä ennen arvottu. Tämä on ihan todennäköisyyslaskennan alkeita.
Johan se tuossa todistettiin että se ei seuraavalla kerralla ole lähelläkään 1:6.
Todennäköisyys on eri asia kuin se mitä joku ohjelma jollakin ajokerralla tulostaa.
"..yhdessä heitossa kunkin silmäluvun esiintymistodennäköisyys on 1/6. Heitettäessä arpakuutiota kaksi kertaa todennäköisyys saada molemmilla kerroilla kuutonen on 1/36."
http://fi.wikipedia.org/wiki/Noppa
Ote alkuperäisestä: "... heitto ohjelma jossa tutkitaan millä tod.näköisyydellä kutosen jälkeen tulee uudestaan kutonen."
Eli nähtävästi oletus on että ekalla heitolla on jo tullut kuutonen (ikäänkuin sillä muka olisi merkitystä!) ja kysytään sitä todennäköisyyttä millä tämän jälkeen tulee kuutonen. Kuutosen (tai minkä tahansa muun) silmäluvun todennäköisyys on tietysti todennäköisyyslaskennan mukaan täsmälleen sama 1/6 riippumatta siitä mikä silmäluku on arvottu edellisellä heitolla. Arvontakerrat ovat toisistaan riippumattomia.
Tämä ei tarkoita että minkä tahansa kokoisessa otannassa olisi aina _täsmälleen_ 1/6 vaikkapa kuutosia. Kuutosten määrän tulisi kuitenkin asymptoottisesti lähentyä arvoa 1/6 jos arpanopat ovat tasapainossa ja niitä heitetään "randomina". Ohjelma tuskin koskaan tuottaa täsmälleen arvoa 1/6 mutta todennäköisyys on joka tapauksessa tasan 1/6.
Ja vastaus on 1/36
Jopa on melkoista amislogiikkaa. Et tainnut ymmärtää edellisestä linkistä yhtään mitään?
echo "1/6";
System.out.println ("1/6");
"Ilmeisesti pitäis tehdä joku DO WHILE -juttu"
No ehkäpä sinun pitäisi sitten opetella se "DO WHILE -juttu", olisiko mitään?
No ehkäpä sinun pitäisi lukea aihe läpi ennen kuin vastaat siihen.
Kyllähän toi ohjelmointiesimerkki toimii oikein eli antaa juuri oikean tuloksen (minkä todennäköisyyslaskentakin antaaa):
10000 heitosta 6:ia noin 1600 = 1/6 ja peräkkäisiä 6:ia noin 270 = 1/36.
Huom: heittolaskuri-i:tä pitää kasvattaa myös toisen random-arvonnan kohdalla