Lösungen Zufallszahlen

Mensch ärgere Dich nicht - Würfeln!

var z; // zufallszahl
 
// Würfeln
z = Math.random()*6;
document.write( "Augenzahl: <h1>" + Math.ceil( z ) + "</h1>" );

Programmieren Sie die Ziehung der Lottozahlen "6 aus 49"!

  • lottozahlen (ganz einfach ohne Prüfung von Doppelten, ohne Sortierung)
  • lottozahlen (eine umfangreiche Lösung mit Prüfung von Doppelten, ohne Sortierung)
  • lottozahlen (knapp und kurz mit Prüfung von Doppelten und mit Sortierung)

Lottozahlen / Einsatz von Arrays zur Ermittlung von Doppelten

Und noch zwei Lösungen mit Prüfung von Doppelten ohne Sortierung:
var lotto_zahlen = new Array(49);
var zufalls_zahl;
var start;
var gibts_schon;
 
// Alle Felder eines Arrays mit 49 Feldern
// wird gefüllt mit dem Wert 0
for(i=0; i<49; i++)
{
  lotto_zahlen[i] = 0;
}
 
// Sechs Zahlen sollen ermittelt werden
for(j=0; j<6; j++)
{
    gibts_schon = false;
    do
    {
      zufalls_zahl = Math.floor(Math.random() * 49 + 1);
      if( lotto_zahlen[zufalls_zahl-1] == 0 )
      {
        lotto_zahlen[zufalls_zahl-1] = 1;
        gibts_schon = false;
      }
      else
      {
        gibts_schon = true;
      }
    } while( gibts_schon == true );
}
 
// Die ermittelten Zahlen ausgeben
for(a=0;a<49;a++)
{
    if (lotto_zahlen[a] == 1)
    {
        document.write(a+1 + '<br>');
    }
}
 
  <!--
    1. Einfach nur mal eine Zufallszahl erzeugen und mit alert ausgeben!
    2. 6 Zufallszahlen mit document.write getrennt ausgeben
    3. Zufallszahlen pruefen auf richtigen Bereich, Math.ceil, Math.floor, Math.round
       (Anzahl der ausgegebenen Zahlen zwischenzeitlich zum Prüfen deutlich erhöht!)
    4. Zufallszahlen in ein Array schreiben ohne Prüfung von Doppelten ...
    5. ... unter Verwendung einer Zählschleife
    6. Prüfung, ob die ermittelte Zufallszahl schon im Lottozahlenarray existiert.
    7. Falls ja, wird diese Zahl nicht in das Array geschrieben und eine neue ermittelt.
    8. usw.
  -->
 
  <script type="text/javascript">
 
    var zufallszahl;
    var lottozahlen=new Array(6);
    var existiertbereits;
 
    // 6x bitte!
    for( var i=0; i<6; )
    {
      document.write("<br>Lottozahl Nr." + (i+1) + " ermitteln<br>");
      existiertbereits = false;
 
      // zufallszahl = Math.ceil( 49*Math.random() );          1. Moeglichkeit
      zufallszahl = Math.round( 49*Math.random() + 0.5 );   // 2. Moeglichkeit
 
      // 6.
      if( i>0 )
      {
        for( var j=0; j<i; j++ )
        {
          document.write( "zufallszahl=" + zufallszahl + " lottozahlen[" + j + "]=" + lottozahlen[j] + "<br>");
          if( zufallszahl == lottozahlen[j] )
          {
            existiertbereits = true;
            document.write("true<br>");
            break;
          }
          else
          {
            // nichts zu tun
          }
        }
      }
 
      //7. Zahl wird ins Array geschrieben oder auch nicht
      if( existiertbereits == false )
      {
        lottozahlen[i] = zufallszahl;
        i++;
      }
      else
      {
        // nichts, d.h. nicht die Zahl in das Array schreiben und
        // nicht weiterzaehlen
      }
 
    }
 
    document.write( "<h1>Lottozahlen ohne Doppelte: "
                  + lottozahlen + "</h1>" );
 
  </script>
 
 

Gerade Zufallszahl / Ungerade Zufallszahl

Das folgende Beispiel zeigt, für welchen Anwendungsfall man die ermittelte gerade bzw. ungerade Zufallszahl gebrauchen kann:
    var datensaetze = new Array( "1", "lala", "2", "nanu", "3", "tatü");
 
    // Eine gerade Zahl per Zufall ermitteln
    var GeradeZahl =
         Math.floor( Math.random()*(datensaetze.length/2) ) * 2;
    // Ausgabe des zweiten, vierten bzw. sechsen Elements des obigen Arrays
    alert( "Eine gerade Zahl: " + GeradeZahl + ": "
         + datensaetze[GeradeZahl] );
 
    // Eine ungerade Zahl per Zufall ermitteln
    var UngeradeZahl =
         Math.floor( Math.random()*(datensaetze.length/2) ) * 2 + 1;
    // Ausgabe des ersten, dritten bzw. fünften Elements des obigen Arrays
    alert(  "Eine ungerade Zahl: " + UngeradeZahl + ": "
         + datensaetze[UngeradeZahl] );
 

Zufallsgenerator prüfen


Programmieren Sie ein Zahlen-Ratespiel!

  • Jetzt müssen Sie aber auch schon mal selbst etwas tun!
    Immer nur fertige Lösungen abkupfern ist doch langweilig! ;-)