Blackjack , còn được gọi là hai mươi mốt, là một trò chơi so sánh giữa bạn và người chia bài, trong đó mỗi người chơi lần lượt cạnh tranh với người chia bài, nhưng người chơi không chơi với nhau.
Chơi như sau, các đại lý giao dịch cho bạn một thẻ. Các đại lý sau đó giao dịch với họ - tự một thẻ, úp mặt. Các đại lý sau đó giao dịch cho bạn một thẻ khác. Cuối cùng, các đại lý giao dịch với họ - tự mình làm thẻ, ngửa mặt.
Thử thách
Thử thách của bạn là viết một chương trình (hoặc chức năng) mà khi chạy (hoặc được gọi), xuất ra (hoặc trả về) xác suất mà thẻ tiếp theo mà đại lý cung cấp cho bạn sẽ khiến bạn bị phá sản, có nghĩa là số điểm tích lũy của thẻ trong tay bạn sau các đại lý cung cấp cho bạn một thẻ khác là hơn 21.
Đầu vào
Ba thẻ nhìn thấy trong chơi. Chúng là hai thẻ bạn có trong tay và thẻ một mặt bạn có thể nhìn thấy trong tay đại lý. Điều này có thể ở bất kỳ định dạng nào bạn thấy phù hợp với ứng dụng của bạn.
Có 52 thẻ trong một cỗ bài (4 trong số mỗi thẻ bên dưới). Giá trị của các thẻ như sau:
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
Trong Blackjack, một con át chủ bài có thể được tính là 1 hoặc 11. Trong thử thách của chúng tôi, chỉ tính nó là 1
Đầu ra
Xác suất, theo định dạng tỷ lệ hoặc tỷ lệ phần trăm, rằng thẻ tiếp theo chúng tôi rút ra sẽ khiến chúng tôi phá sản.
Bạn có thể xuất tỷ lệ phần trăm, phân số hoặc chỉ tử số của phân số.
Ví dụ
Trong ví dụ này, hai thẻ đầu tiên nằm trong tay chúng ta, thẻ thứ ba là thẻ hiển thị của đại lý
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 ...
Quy tắc
Sơ hở tiêu chuẩn không được phép.
Đây là môn đánh gôn , vì vậy mã ngắn nhất tính theo byte cho mỗi ngôn ngữ sẽ thắng!