Blackjack , znany również jako dwadzieścia jeden, to gra karciana polegająca na porównywaniu siebie z krupierem, w której każdy gracz z kolei rywalizuje z krupierem, ale gracze nie grają przeciwko sobie.
Gra przebiega w następujący sposób, krupier rozdaje ci kartę. Następnie krupier rozdaje kartę zakrytą kartą. Następnie rozdaje ci kolejną kartę. W końcu krupier rozdaje kartę odkrytą.
Wyzwanie
Twoim wyzwaniem jest napisanie programu (lub funkcji), który po uruchomieniu (lub wywołaniu) generuje (lub zwraca) prawdopodobieństwo, że następna karta, którą da ci dealer, sprawi, że odpadniesz, co oznacza łączny wynik kart w twojej ręce po krupier daje ci kolejną kartę powyżej 21 lat.
Wejście
Trzy widoczne karty w grze. Są to dwie karty, które masz w ręce, i jedna karta, którą możesz zobaczyć w ręce rozdającego. Może być w dowolnym formacie odpowiednim dla twojej aplikacji.
W talii znajduje się 52 karty (4 z każdej z poniższych kart). Wartości kart są następujące:
Symbol(Case Insensitive) Name Value
2 Two 2
3 Three 3
4 Four 4
5 Five 5
6 Six 6
7 Seven 7
8 Eight 8
9 Nine 9
T Ten 10
J Jack 10
Q Queen 10
K King 10
A or 1 Ace 1
W blackjacku as może liczyć się jako 1 lub 11. W naszym wyzwaniu liczymy go tylko jako 1
Wynik
Prawdopodobieństwo, w formacie proporcji lub procentu, że następna karta, którą wyciągniemy, nas rozbije.
Możesz podać procent, ułamek lub tylko licznik ułamka.
Przykłady
W tym przykładzie pierwsze dwie karty są w naszej ręce, trzecia karta jest widoczną kartą rozdającego
Input -> Output
A 2 Q -> 0.00% or 0/49 or 0
A 2 3 -> 0.00% or 0/49 or 0
T T T -> 91.84% or 45/49 or 91.84
T J K -> 91.84% or 45/49 or 45
9 7 3 -> 61.22% or 30/49 ...
9 7 Q -> 59.18% or 29/49 ...
Zasady
Standardowe luki są niedozwolone.
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach dla każdego języka!