O blackjack , também conhecido como vinte e um, é um jogo de cartas comparativo entre você e um dealer, onde cada jogador, por sua vez, compete contra o dealer, mas os jogadores não jogam entre si.
O jogo é o seguinte, o carteador oferece uma carta. O revendedor então negocia uma carta com a face para baixo. O revendedor, então, oferece outro cartão. Por fim, o revendedor negocia uma carta com a face para cima.
Desafio
Seu desafio é escrever um programa (ou função) que, quando executado (ou chamado), gera (ou devolve) a probabilidade de que a próxima carta que o carteador lhe dê, o faça parar, o que significa a pontuação acumulada de cartas em sua mão após o revendedor oferece outro cartão com mais de 21 anos.
Entrada
As três cartas visíveis em jogo. São as duas cartas que você tem na sua mão e a única que pode ser vista na mão do dealer. Isso pode estar no formato que você achar adequado para o seu aplicativo.
Existem 52 cartas em um baralho (4 de cada uma das cartas abaixo). O valor dos cartões é o seguinte:
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
No Blackjack, um ás pode contar como 1 ou 11. No nosso desafio, conte apenas como 1
Resultado
A probabilidade, em um formato de proporção ou porcentagem, de que a próxima carta que sacaremos nos fará perder.
Você pode gerar a porcentagem, a fração ou apenas o numerador da fração.
Exemplos
Neste exemplo, as duas primeiras cartas estão na nossa mão, a terceira é a carta visível do dealer
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 ...
Regras
As brechas padrão não são permitidas.
Isso é código-golfe , então o código mais curto em bytes para cada idioma vence!