Gladiator6
Erfahrenes Mitglied
Hi
Ich bin nach und nach am PHP erlernen!
Neulich hatten wir in der Schule eine Mathaufgabe, die lautete folgendermassen:
Wie gross ist die Wahrscheinlichkeit, dass wenn man 52 Karten mischt, mindestens 2 Karten "8" nebeneinander sind. Die Berechnung ergab, dass in 21.79% mindestens 2 Karten nebeneinander sind.
Ich habe nun ein Script geschriben, welches das simuliert! Ich komme ziemlich genau auf diesen Wert, somit ist das Script wohl in Ordnung. Da ich jedoch noch im Anfänger Stadium bin, interessiert es mich, was ich am Programm noch besser machen könnte. Es ist alles auf meinem eigenen Mist gewachsen!
Hier das Script!
Verbesserungsvorschläge? Nur her damit
Ich bin nach und nach am PHP erlernen!
Neulich hatten wir in der Schule eine Mathaufgabe, die lautete folgendermassen:
Wie gross ist die Wahrscheinlichkeit, dass wenn man 52 Karten mischt, mindestens 2 Karten "8" nebeneinander sind. Die Berechnung ergab, dass in 21.79% mindestens 2 Karten nebeneinander sind.
Ich habe nun ein Script geschriben, welches das simuliert! Ich komme ziemlich genau auf diesen Wert, somit ist das Script wohl in Ordnung. Da ich jedoch noch im Anfänger Stadium bin, interessiert es mich, was ich am Programm noch besser machen könnte. Es ist alles auf meinem eigenen Mist gewachsen!
Hier das Script!
PHP:
<?php
$versuche=$_POST["versuche"];
if($versuche==0)
$versuche=1;
$anzahl1=0; // Wie oft keine Karten nebeneinander sind! (Am Anfang 0)
$anzahl2=0; // Wie oft mindestens 2 Karten nebeneinander sind! (Am Anfang 0)
//Anzahl Versuche!
for($z=1; $z<=$versuche; $z++)
{
//Array definieren, mit 52 Karten (Zahlen 1-13. jede Zahl 4 mal)
$karten=array(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,
7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13);
//Karten (Array) mischen
shuffle($karten);
//Die Positionen, wo die 4 Karten "8" vorkommen, in ein neues Array schreiben.
$positionen=array_keys($karten,8);
//Array nach Grösse Sortieren
array_multisort($positionen);
//Anzahl Karten, die nebeneinander sind! (Am Anfang 0)
$anzahl=0;
//Für die 4 Positionen der Karte schauen, ob sie nebeneinander sind!
for($i=0; $i<=4; $i++)
{
if($positionen[$i+1]==$positionen[$i]+1)
{
$anzahl=$anzahl+1;
}
}
//Versuche ermitteln, wo mindestens 2 Karten nebeneinander sind!
switch($anzahl)
{
case "0":
$anzahl1=$anzahl1+1;
break;
case "1":
$anzahl2=$anzahl2+1;
break;
case "2":
$anzahl2=$anzahl2+1;
break;
case "3":
$anzahl2=$anzahl2+1;
break;
case "4":
$anzahl2=$anzahl2+1;
break;
}
}
$total=$anzahl1+$anzahl2;
$prozent=(100/$total)*$anzahl2;
// Ergebnis ausgeben!
echo"<br>";
echo"Total Versuche: $total<br>";
echo"Anzahl keine Karten nebeneinander:$anzahl1<br>";
echo"Anzahl Karten nebeneinander:$anzahl2<br>";
echo"<br>";
echo"In $prozent Prozent sind mindestens 2 Karten nebeneinander!";
?>
Verbesserungsvorschläge? Nur her damit