| Programmieraufgaben Hier wird regelmäßig eine neue Programmieraufgabe gestellt, die dann gelöst werden soll und in Zusammenarbeit mit den Moderatoren auch besprochen werden kann. |
Diskussion: Lottosimulation im Forum Programmieraufgaben, in der Kategorie Code Kitchen; Folgende Aufgabe wurde von ]=-antr4xx-=[ eingereicht: Lottosimulation (6 aus 49): Man soll seinen Tipp abgeben können, anschliessend sagt einem das ...
![]() |
| | #1 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.03 ![]() Likes: 1 | Folgende Aufgabe wurde von ]=-antr4xx-=[ eingereicht: Lottosimulation (6 aus 49): Man soll seinen Tipp abgeben können, anschliessend sagt einem das Programm, wieviele Richtige man hatte, und rechnet aus, nach wievielen Spielen diese Zahlen hätten kommen können (Zufall). Wie beim Lotto darf jede Zahl nur 1-mal eingegeben werden und diese muss zwischen 1 und 49 liegen. Hier ein Durchlauf eines Beispiel Programms von ]=-antr4xx-=[: Code: Lotto-Simulation by ]=-antr4xx-=[ 1. Zahl eingeben: 12 2. Zahl eingeben: 54 Zahl ist zu gross, bitte nochmals eingeben. 2. Zahl eingeben: 12 Zahl wurde bereits eingegeben, bitte nochmals eingeben. 2. Zahl eingeben: 13 3. Zahl eingeben: 45 4. Zahl eingeben: 36 5. Zahl eingeben: 17 6. Zahl eingeben: 19 1. Zahl: 36 2. Zahl: 26 3. Zahl: 39 4. Zahl: 34 5. Zahl: 39 6. Zahl: 26 Übereinstimmung an Position 1 :36 1 Treffer Nach 134819 Versuchen hat es geklappt;) Erfolgschancen: 0.000741735 %
__________________ http://livehabo.hackerboard.de | http://livebb.sourceforge.net |
| | |
| | #2 (permalink) |
| Guest Likes: | problem, das ganze Terminiert nicht, in einfachster Form habe ich es eben mal laufen lassen und nach 10 min aus langeweile abgebrochen... Pseudozufall erlaubt??? (ich meine damit alle 13 Millionen Möglichkeiten der reihe nach abgehen, jeder aber mit zufall einen index in der reihenfolge geben) |
|
| HaBOT | |
| |
| | #3 (permalink) |
| Registriert seit: 28.09.07 ![]() Likes: 0 | Also ich habe mal folgendes gemacht: Code: #include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main(void)
{
srand((unsigned)time(0));
char EingabeC=0;
do
{
int EingabeN=0;
bool NumberIsTaken[49];
for(int i=0;i<49;i++)
{
NumberIsTaken[i]=0;
}
for(int i=0;i<6;i++)
{
cin>>EingabeN;
if(EingabeN<50&&EingabeN>0&&NumberIsTaken[EingabeN-1]==0)
{
cout<<"Deine "<<i+1<<". Zahl ist die "<<EingabeN<<"\n";
NumberIsTaken[EingabeN-1]=1;
}
else
{
cout<<"Das geht nicht!\n";
i--;
}
}
int Durch=0;
START:
Durch++;
bool NumberIsRight[49];
short UebrigeZahlen=49;
for(int i=0;i<49;i++)
{
NumberIsRight[i]=0;
}
for(int i=0;i<6;i++)
{
short CountNumber=(rand()%UebrigeZahlen)+1;
for(int i2=0;CountNumber>0;i2++)
{
if(NumberIsRight[i2]==0)
{
CountNumber--;
if(CountNumber==0)
{
NumberIsRight[i2]=1;
}
}
}
}
int RightOnes=0;
for(int i=0;i<49;i++)
{
if(NumberIsTaken[i]==1&&NumberIsRight[i]==1)
{
RightOnes++;
}
}
if(RightOnes<6)goto START;
cout<<"Du musstest "<<Durch<<" mal spielen um 6 Richtige zu haben!\n"<<
"mit der Zusatzzahl waere es ca. 43mal so viel!!!\n";
cin>>EingabeC;
}while(EingabeC!='0');
return 0;
} Aber was mich wundert ist das wenn ich das Programm ausführe immer die Zahlen, also die ANzahl wie oft ich spielen musste immer sehr wenig variieren. Ist das wirklich auch bei euch so? |
| | |
| | #4 (permalink) |
| Also ich habe es folgendermassen gemacht, Bugs will ich aber nich ausschlien. random.hpp: Code: //random.hpp
#ifndef RANDOM_HPP_
#define RANDOM_HPP_
#include <stdlib.h>
class Random
{
private:
int rand;
public:
Random();
~Random();
int get_random(int max);
};
#endif random.cpp: Code: //random.cpp
using namespace std;
#include <stdlib.h>
#include "random.hpp"
#include <iostream>
Random::Random()
{
srand(time((time_t *)NULL));
}
Random::~Random()
{
}
int Random::get_random(int max)
{
//srand(time((time_t *)0));
rand = ::rand();
return rand % max;
} lotto.cpp: Code: #include <iostream>
#include "random.hpp"
using namespace std;
int main(void)
{
int max = 49, i, choice[6], j, count, treffer = 0, versuche = 0;
bool gotit = false;
Random rand;
int zahl;
cout << "Lotto-Simulation by ]=-antr4xx-=[" << endl << endl;
for(i = 0; i < 6; i++)
{
cout << i + 1 << ". Zahl eingeben: ";
cin >> choice[i];
if(choice[i] > 49)
{
cout << "Zahl ist zu gross, bitte nochmals eingeben.\n ";
i--;
continue;
}
for(count = 0; count < i; count++)
{
if(choice[i] == choice[count])
{
cout << "Zahl wurde bereits eingegeben, bitte nochmals eingeben.\n ";
i--;
continue;
}
if(choice[i] == 0)
{
choice[i] = 49;
}
}
}
int num[49];
for(i = 0; i < 6; i++)
{
zahl = rand.get_random(max);
cout << i + 1 << ". Zahl:\t\t" << zahl << endl;
num[i] = zahl;
}
for(i = 0; i < 6; i++)
{
for(j = 0; j < 6; j++)
{
if(choice[j] == num[i])
{
cout << "Übereinstimmung an Position " << i + 1 << " :" << choice[j] << endl;
treffer++;
}
}
}
cout << treffer << " Treffer" << endl;
while(!gotit)
{
//Sleep(5); //to prevent 100% CPU usage
count = 0;
for(i = 0; i < 6; i++)
{
num[i] = rand.get_random(49);
}
for(i = 0; i < 6; i++)
{
for(j = 0; j < 6; j++)
{
if(choice[i] == num[j])
count++;
}
}
if(count == 6)
break;
versuche++;
}
cout << "Nach " << versuche << " Versuchen hat es geklappt;)" << endl;
cout << "Erfolgschancen: " << 1.0 / (float)versuche * 100.0 << " %" << endl;
} gcc-Aufruf: Code: g++ -o lotto lotto.cpp random.cpp | |
| | |
| | #5 (permalink) |
| Registriert seit: 04.02.08 ![]() Likes: 0 | Hier meine Lösung in Python... Kann allerdings recht lange dauern bis es 6 richtige erreicht. Bei mir hat es ca 10 min gedauert bis er beim ~8.2 Millionsten Versuch alle richtig hatte. Code: #!/usr/bin/python
# -*- coding: utf-8 -*-
# Lotto Programm
import random
import os
def eingabe(): # 6 Zahlen eingeben lassen; inklusive neueingabe bei falschen Werten
print "Bitte geben sie 6 Zahlen zwischen 1 und 49 ein.\n"
z = [0] * 6
j = 0
while j < len(z):
z[j] = raw_input("%d. Zahl > " % (j+1))
try:
z[j] = int(z[j])
except:
print "Zahlen angeben!"
continue
if 0 < int(z[j]) < 50:
i = 0
count = 0
while i < j:
if z[j] == z[i]:
count += 1
i += 1
if count != 0:
print "Zahl wurde bereits eingegeben. Gib eine andere Zahl ein!"
else:
j += 1
else:
print "Zahl muss zwischen 1 und 49 liegen!"
z.sort()
return z
def ziehen(): # 6 Zahlen per Zufall ziehen
x = [0] * 6
i = 0
while i < len(x):
x[i] = random.randint(1,49)
j = 0
count = 0
while j < i:
if x[j] == x[i]:
count += 1
j += 1
if count == 0:
i += 1
x.sort()
return x
def vergleich(z,x): # Eingegebene und Gezogene Zahlen vergleichen
i = 0
trefges = []
while i < len(z):
count = 0
j = 0
treffer = 0
while j < len(x):
if z[i] == x[j]:
count += 1
treffer = z[i]
j += 1
trefges.append(treffer)
i += 1
k = 0
tg = []
while k < len(trefges):
if trefges[k] != 0:
tg.append(trefges[k])
k += 1
countg = len(tg)
return tg, countg
def sechsrichtige(z): # Solange ziehen bis 6 Richtige erreicht sind
con = True
countv = 0
while con:
x = ziehen()
countv += 1
if z == x:
con = False
#os.system("beep") # Beep wenn 6 Richtige; beep muss installiert sein (unter Ubuntu das Paket "beep")
return countv
z = eingabe()
x = ziehen()
richtige, countg = vergleich(z,x)
print "\nGezogene Zahlen: %s\nDu hast %d Richtige! %s" % (x,countg,richtige)
print "\nZiehe solange bis 6 Richtige gezogen wurden..."
versuche = sechsrichtige(z)
chance = 1.0/versuche
print "\nEs wurden %d Versuche gebraucht für 6 Richtige!\nChance beträgt %s %s" % (versuche,chance,"%") |
| | |
| | #6 (permalink) |
| Registriert seit: 12.02.08 ![]() Likes: 0 | Das ganze hab ich mal in vb als Windows-Anwendung gemacht mit Benutzeroberfläche und einem Button "Button1" Ja, ich weiß, es wiederholt sich bei mir viel aber vielleicht könnt ihr mir ja tipps geben wie ich das verkürzen kann... Danke Code: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Tip1, Tip2, Tip3, Tip4, Tip5, Tip6, Cnt As Integer
Do Until Tip1 < 50 And Tip1 > 0
Tip1 = InputBox("Bitte geben Sie hier ihren ersten Tip ab:", "Lotto(1/6)", , , )
Loop
Do Until Tip2 < 50 And Tip2 > 0 And Tip2 < Tip1 Or Tip2 >Tip1
Tip2 = InputBox("Bitte geben Sie hier ihren zweiten Tip ab:", "Lotto(2/6)", , , )
Loop
Do Until Tip3 < 50 And Tip3 > 0 And Tip3 <> Tip1 And Tip3 <> Tip2
Tip3 = InputBox("Bitte geben Sie hier ihren dritten Tip ab:", "Lotto(3/6)", , , )
Loop
Do Until Tip4 < 50 And Tip4 > 0 And Tip4 <> Tip1 And Tip4 <> Tip2 And Tip4 <> Tip3
Tip4 = InputBox("Bitte geben Sie hier ihren vierten Tip ab:", "Lotto(4/6)", , , )
Loop
Do Until Tip5 < 50 And Tip5 > 0 And Tip5 <> Tip1 And Tip5 <> Tip2 And Tip5 <> Tip3 And Tip5 <> Tip4
Tip5 = InputBox("Bitte geben Sie hier ihren fünften Tip ab:", "Lotto(5/6)", , , )
Loop
Do Until Tip6 < 50 And Tip6 > 0 And Tip6 <> Tip1 And Tip6 <> Tip2 And Tip6 <> Tip3 And Tip6 <> Tip4 And Tip6 <> Tip5
Tip6 = InputBox("Bitte geben Sie hier ihren sechsten Tip ab:", "Lotto(6/6)", , , )
Loop
Randomize()
Dim Zahl1 As Integer = CInt(Int((49 * Rnd()) + 1))
Dim Zahl2 As Integer = CInt(Int((49 * Rnd()) + 1))
Dim Zahl3 As Integer = CInt(Int((49 * Rnd()) + 1))
Dim Zahl4 As Integer = CInt(Int((49 * Rnd()) + 1))
Dim Zahl5 As Integer = CInt(Int((49 * Rnd()) + 1))
Dim Zahl6 As Integer = CInt(Int((49 * Rnd()) + 1))
If Integer.Equals(Tip1, Zahl1) = True Then
MsgBox("Ihr erster Tip war richtig!", MsgBoxStyle.Information, "Lotto")
Else
MsgBox("Ihr erster Tip war falsch!", MsgBoxStyle.Exclamation, "Lotto")
If Integer.Equals(Tip2, Zahl2) = True Then
MsgBox("Ihr zweiter Tip war richtig!", MsgBoxStyle.Information, "Lotto")
Else
MsgBox("Ihr zweiter Tip war falsch!", MsgBoxStyle.Exclamation, "Lotto")
If Integer.Equals(Tip3, Zahl3) = True Then
MsgBox("Ihr dritter Tip war richtig!", MsgBoxStyle.Information, "Lotto")
Else
MsgBox("Ihr dritter Tip war falsch!", MsgBoxStyle.Exclamation, "Lotto")
If Integer.Equals(Tip4, Zahl4) = True Then
MsgBox("Ihr vierter Tip war richtig!", MsgBoxStyle.Information, "Lotto")
Else
MsgBox("Ihr vierter Tip war falsch!", MsgBoxStyle.Exclamation, "Lotto")
If Integer.Equals(Tip5, Zahl5) = True Then
MsgBox("Ihr fünfter Tip war richtig!", MsgBoxStyle.Information, "Lotto")
Else
MsgBox("Ihr fünfter Tip war falsch!", MsgBoxStyle.Exclamation, "Lotto")
If Integer.Equals(Tip6, Zahl6) = True Then
MsgBox("Ihr sechster Tip war richtig!", MsgBoxStyle.Information, "Lotto")
Else
MsgBox("Ihr sechster Tip war falsch!", MsgBoxStyle.Exclamation, "Lotto")
Cnt = 0
Do Until Integer.Equals(Tip1, Zahl1) = True
Randomize()
Zahl1 = CInt(Int((49 * Rnd()) + 1))
Cnt = Cnt + 1
Loop
MsgBox("Nach " & Cnt & " Versuch(en) hat es geklappt", MsgBoxStyle.Information, "1/6")
Cnt = 0
Do Until Integer.Equals(Tip2, Zahl2) = True
Randomize()
Zahl2 = CInt(Int((49 * Rnd()) + 1)) Cnt = Cnt + 1
Loop
MsgBox("Nach " & Cnt & " Versuch(en) hat es geklappt", MsgBoxStyle.Information, "2/6")
Cnt = 0
Do Until Integer.Equals(Tip3, Zahl3) = True
Randomize()
Zahl3 = CInt(Int((49 * Rnd()) + 1)) Cnt = Cnt + 1
Loop
MsgBox("Nach " & Cnt & " Versuch(en) hat es geklappt", MsgBoxStyle.Information, "3/6")
Cnt = 0
Do Until Integer.Equals(Tip4, Zahl4) = True
Randomize()
Zahl4 = CInt(Int((49 * Rnd()) + 1)) Cnt = Cnt + 1
Loop
MsgBox("Nach " & Cnt & " Versuch(en) hat es geklappt", MsgBoxStyle.Information, "4/6")
Cnt = 0
Do Until Integer.Equals(Tip5, Zahl5) = True
Randomize()
Zahl5 = CInt(Int((49 * Rnd()) + 1)) Cnt = Cnt + 1
Loop
MsgBox("Nach " & Cnt & " Versuch(en) hat es geklappt", MsgBoxStyle.Information, "5/6")
Cnt = 0
Do Until Integer.Equals(Tip6, Zahl6) = True
Randomize()
Zahl6 = CInt(Int((49 * Rnd()) + 1)) Cnt = Cnt + 1
Loop
MsgBox("Nach " & Cnt & " Versuch(en) hat es geklappt", MsgBoxStyle.Information, "6/6")
Cnt = 0
End Sub
End Class |
| | |
| | #7 (permalink) | |
| Registriert seit: 12.01.07 ![]() Likes: 0 | Wenn ich das richtig sehe, dann simuliert dein Code Lotto nicht richtig. Wenn du als Tip1 zum Beispiel 34 angeben hast und 34 in Zahl2 "gezogen" wird, dann würde dein Programm es nicht als Treffer zählen. Außerdem können bei der Lottoziehung gleiche Zahlen vorkommen. Komischer passiert das auch in der Beispielausgabe: Zitat:
| |
| | |
| | #8 (permalink) |
| Registriert seit: 12.02.08 ![]() Likes: 0 | Danke Scorn, gut dass du mich dauf hingewiesen hast ich hab mich beim coden mehr auf das proramm als auf die regeln konzentriert. Und mit den Do-Loop Schleifen hab ich vorher noch nie gearbitet, deswegen hab ich die an den stellen wo sie nötig gewesen wären nicht eingebaut Und es gibt auch nicht an, wann man sechs richtige hätte sondern nur wann man eine Zahl richtig hätte... dann beachte ich am besten erst die spielregeln bevor da sowas bei rauskommt |
| | |
| | #9 (permalink) |
| Registriert seit: 11.01.08 ![]() Likes: 0 | Oh mein Gott ich bin jetzt im vor letzten Kapitel von dem Buch C++ für Spieleprogrammierer (für Anfänger) und habe bis jetzt alles recht gut verstanden. Aber ich muss gestehen das ich immer noch nicht in der Lage bin so ein kleines Programm (o.ä. auf dem Schwierigkeitsgrad ) komplett zu schreiben. Nun frage ich mich , ist das normal ? -.- Oder vermittelt mir dieses Buch einen ungünstigen Einstieg ? Wie lerne ich am effizientesten ? MfG |
| | |
| | #10 (permalink) | |
| Registriert seit: 18.12.05 ![]() Likes: 0 | Zitat:
![]() versuch doch einfach mal das hier zu implementieren : zahlen einlesen zahlen überprüfen (1-->49) schleife mit counter bis 6 zahlen ramdom generieren testen ob sie mit den anderen übereinstimmen ausgeben von treffern das reicht schon .. Ich finde es schon blöd, nach wieviel man gewinnen könnte .. Die schleife muss nicht enden .. die zahlen werden immer RANDOM generieret bis alle zahlen vorkommen. wir gehen aber nicht von 1-1-1-1-1-1 bis 46-46-46-46-46-46 .. sonder RANDOM .. es gibt eine höhe wahrscheinlichkeit dass die schleife nicht endet. | |
| | |
| | #11 (permalink) | |
| Registriert seit: 12.01.07 ![]() Likes: 0 | Zitat:
| |
| | |
| | #12 (permalink) | ||
| Registriert seit: 18.12.05 ![]() Likes: 0 | Zitat:
Die Häufigkeit dass die Zahl 45 bei einem von 1-46 Generator vorkommt, ist theoretisch 1/46 .. Sie kann aber erst nach 46 schritten vorkommen .. Stell dir mal vor dass die theoretische Häufigkeit dass 6 Zahlen vorkommen bei 1-1-1-1-1-1 bis 46-46-46-46-46-46 .. 6 * 46^46^46^46^46^46 Nach ein paar milliarden von Schritten kommen die 6 zahlen vor .. das ist aber theoretisch .. Im WorstCase könnte das viel länger dauern. | ||
| | |
| | #13 (permalink) | |
| Registriert seit: 12.01.07 ![]() Likes: 0 | Zitat:
Im deutschen Lotto (6 aus 49) gibt es 13983816 mögliche Ziehungen, da (49! / ( 49 - 6)!) / 6! = 13983816. Das heißt eine Chance von 1/13983816 bei einem Versuch zu treffen. Das ist mir viel zu gering um selbst zu spielen, aber heutige Prozessoren sollten das schaffen. Auch in kurzen Zeiten. | |
| | |
| | #14 (permalink) |
| Moderator ![]() | bäh das ist so fies, abes es funktioniert. ergebnis sollte recht schnell folgen, mein längstes waren 27millionen versuche. Code:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
// EINGABE
int zahl[49];
int zufall[49];
int simzufall[49];
int treffer=0;
int marke=1;
long int nochnebloedevariable=0;
long int durchlauf=0;
int i=0, j=0, l=0;
for( i=1; i<=6; i++)
{
cout << "Gib die " << i << ". Zahl ein: ";
cin >> zahl[i];
// GUELTIGKEITSPRUEFUNG
if( zahl[i] < 1 || zahl[i] > 49 )
{
cout << "Die Zahl muss größer als 0 und kleiner als 50 sein!\n";
i--;
}
// UEBERPRUEFUNG AUF DOPPELTE ZAHLEN
j=0;
for( j=1; j<=i-1; j++ )
{
if( zahl[j] == zahl[i] )
{
cout << "Zahl schon vorhanden!\n";
i--;
}
}
}
// AUSGABE DER EINGABE *g*
j=0;
for( j=1; j<=6; j++ )
{
cout << "Die " << j << ". Zahl ist " << zahl[j] << ".\n";
}
// ERZEUGUNG VON ZUFÄLLIGEN LOTTOZAHLEN
cout << "Die Lottozahlen dieser Ziehung lauten: ";
srand( time( NULL ) );
l=0;
for( l=1; l<=6; l++ )
{
zufall[l]=1+(rand()%49);
j=0;
for( j=1; j<=l-1; j++ )
{
if( zufall[j] == zufall[l] )
l--;
}
}
// LOTTOZAHLEN AUSGEBEN
j=0;
for( j=1; j<=6; j++ )
{
cout << zufall[j] << " ";
}
// ZAHLEN VERGLEICHEN
j=0;
for( j=1; j<=6; j++ )
{
l=0;
for( l=1; l<=6; l++ )
{
if( zahl[j] == zufall[l] )
treffer++;
}
}
// TREFFERANZAHL
cout << "\nDu hast " << treffer << " Richtige.\n";
cout << "Simulation startet ...\n\n";
// SIMULATION
for( nochnebloedevariable=1; nochnebloedevariable>0; nochnebloedevariable=1 )
{
durchlauf++;
if( durchlauf == marke * 1000000 )
{
cout << durchlauf << " erfolglose Durchläufe.\n";
cout << "Aktuelle Zahlen sind " << simzufall[1] << " " << simzufall[2] << " " << simzufall[3] << " " << simzufall[4] << " " << simzufall[5] << " " << simzufall[6] << "\n";
marke++;
}
// ZUFALLSTIP ( simzufall[1-6] )
l=0;
for( l=1; l<=6; l++ )
{
simzufall[l]=1+(rand()%49);
j=0;
for( j=1; j<=l-1; j++ )
{
if( simzufall[j] == simzufall[l] )
l--;
}
}
// SIM-TIP UND ZIEHUNG VERGLEICHEN
treffer=0;
j=0;
for( j=1; j<=6; j++ )
{
l=0;
for( l=1; l<=6; l++ )
{
if( zufall[j] == simzufall[l] )
treffer++;
if( treffer == 6 )
{
cout << "\n\n6 Richtige nach " << durchlauf << " Durchläufen.\n\n";
return 0;
}
}
}
}
cout << "\n";
return 0;
} |
| | |
| | #15 (permalink) |
| Registriert seit: 29.01.06 ![]() Likes: 0 | Meine Lösung ist in C geschrieben: Code: # include <stdio.h>
# include <stdlib.h>
# include <time.h>
# include <limits.h>
# define MAX 49
# define MIN 1
int doppelt(unsigned int array[], int pos){
int i;
for(i=0; i<pos; i++)
if(array[pos]==array[i])
return 1;
return 0;
}
int zufall_ohne_zuruecklegen(unsigned int array[], int groesse, int min, int max){
int i;
for(i=0; i<groesse; i++){
do{
array[i]=min+rand()%(max-min+1);
}while(doppelt(array, i));
}
}
int pruefe(unsigned int array_1[], unsigned int array_2[], int groesse){
int i, n;
int treffer;
for(i=0, treffer=0; i<groesse; i++)
for(n=0; n<groesse; n++)
if(array_1[i]==array_2[n])
treffer++;
return treffer;
}
int main(){
int i;
unsigned long zaehler;
unsigned int tipp[6], zufall[6];
for(i=0; i<6; i++){
printf("%d. Zahl: ", i+1);
scanf("%d", &tipp[i]);
if(doppelt(tipp, i) || tipp[i]>MAX || tipp[i]<MIN){
printf("Zahl ungueltig\n");
i--;
}
}
srand(time(NULL));
for(zaehler=0; zaehler<=ULONG_MAX; zaehler++){
zufall_ohne_zuruecklegen(zufall, 6, MIN, MAX);
if(pruefe(tipp, zufall, 6)==6){
printf("6 Treffer nach %d Versuchen, die Wahrscheinnlichkeit liegt bei %.9f%%.", zaehler, (double)1/zaehler);
return 0;
}
}
} |
| | |
![]() |
| | |
| |
| Themen-Optionen | |
| Ansicht | |
| |