Lotto Ziehung ()
Schreiben Sie zunächst eine Funktion, die als Rückgabewert eine einfache sortierte Liste mit 6 zufälligen Zahlen von 1 bis 49 liefert (6 aus 49). Dabei soll eine Zahl jeweils nur ein Mal in der Liste vorkommen!
Schreiben Sie anschließend ein Programm, welches die Funktion 3 Mal aufruft und den Rückgabewert jeweils wieder in einer Liste speichert. Am Ende geben Sie diese zweidimensionale Liste mit den drei Ziehungen 6 aus 49 auf dem Bildschirm aus.
0 Kommentare
5 Lösung(en)
static List<int> Lotto() => Enumerable.Range(1, 49).OrderBy(x => Guid.NewGuid()).Take(6).OrderBy(x => x).ToList();
var lst = Enumerable.Range(0, 3).Select(x => Lotto()).ToList();
lst.ForEach(x => Console.WriteLine(string.Join(", ", x)));
Lösung von: Jens Kelm (@JKooP)
function lotteryNumbers(min = 1, max = 49, num = 6) {
let out = [];
while (out.length < num) {
let cur = Math.floor(Math.random() * (max - min + 1) + min);
if (out.indexOf(cur) == -1) out.push(cur);
}
return out.sort(function(a, b) {return a - b});
}
let list = [], i;
for (i = 1; i <= 3; i++) list.push(lotteryNumbers());
console.log(list);
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
// Achtung: F#
let lotto a b = [a .. b] |> List.sortBy (fun _ -> System.Random().Next()) |> List.take(6) |> List.sort
let ziehung n =
let mutable lst = []
for _ in 1 .. n do
lst <- [lotto 1 49] |> List.append lst
lst
printfn "%A" (ziehung 3)
Lösung von: Jens Kelm (@JKooP)
#include <iostream>
#include <vector>
#include <algorithm>
std::vector<int> lottery_numbers() {
std::vector<int> v;
auto c{ 0 };
while (c < 6) {
auto r{ rand() % 49 + 1 };
if (std::find(v.begin(), v.end(), r) == v.end()) {
v.push_back(r);
c++;
}
}
std::sort(v.begin(), v.end());
return v;
}
std::vector<std::vector<int>> list_lottery_numbers(int n) {
std::vector<std::vector<int>> v;
for (size_t i = 0; i < n; i++)
v.push_back(lottery_numbers());
return v;
}
void print_lottery_numbers(const std::vector<std::vector<int>>& v) {
for (const auto& l : v) {
for (const auto& n : l)
std::cout << n << " ";
std::cout << std::endl;
}
}
int main() {
srand(time(NULL));
print_lottery_numbers(list_lottery_numbers(3));
}
Lösung von: Jens Kelm (@JKooP)
import random
def lotto_numbers():
return sorted(random.sample(range(1, 50), k=6))
print([lotto_numbers() for _ in range(3)])
Lösung von: Name nicht veröffentlicht
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | |
Schwierigkeit: | k.A. |
Webcode: | 6xwk-jbqb |
Autor: | () |