Mình có một thắc mắc mà không biết hỏi chỗ nào,,mặc dù liên quan đến bài thì không ai thích rồi nhưng nó cũng là toán học thôi,ai giỏi chỉ mình với,, là giờ muốn tính xem có bao trường hợp được 1 điểm ,2 điểm,cho tới 10 điểm
Đang hóng xem ai nhận giỏi vụ này đây.ai giỏi chỉ mình với
Nếu bạn làm được thì có thể tự hào là giỏi hơn người hỏi.Đang hóng xem ai nhận giỏi vụ này đây.
Mình thử thực thi ý tưởng của bạn; Rất mong các bạn góp ý:Cho i,j,k nằm trong khoảng 1 đến 52. Liệt kê các trường hợp i,j,k là tổ hợp chập 3 của 52. Tạo mảng giá trị của 52 lá bài; A tới 9 cho bằng từ 1 đến 9; 10 cho bằng 0; J,Q,K cho bằng 10. Tính tổng mảng + mảng[j] + mảng[k]. Cuối cùng thống kê lại theo số điểm.
Function BBBB()
'BBBB:= Bài Bac Bát Bân '
Const Ro As String = "R01R02R03R04R05R06R07R08R09R10R11R12R13"
Const Co As String = "C01C02C03C04C05C06C07C08C09C10C11C12C13"
Const Cn As String = "N01N02N03N04N05N06N07N08N09N10N11N12N13"
Const Bi As String = "B01B02B03B04B05B06B07B08B09B10B11B12B13"
Dim StrC As String
Dim J As Long, W As Long, Z As Long, Dj As Integer, Dw As Integer, Dz As Integer, Tong As Integer, F As Long
ReDim Arr(1 To 44444, 1 To 1) As Integer
Dim LaJ As String, LaW As String, LaZ As String
StrC = Ro & Co & Cn & Bi
For J = 1 To 52 - 2
LaJ = Mid(StrC, 3 * J - 2, 3)
Dj = CInt(Right(LaJ, 2))
Dj = Diem(Dj)
For W = J + 1 To (52 - 1)
LaW = Mid(StrC, 3 * W - 2, 3)
Dw = CInt(Right(LaW, 2))
Dw = Diem(Dw)
For Z = J + 3 To 52
LaZ = Mid(StrC, 3 * Z - 2, 3)
Dz = CInt(Right(LaZ, 2))
Dz = Diem(Dz)
Tong = Dj + Dw + Dz
If Tong = 21 Then
F = F + 1: Arr(F, 1) = Tong
End If
Next Z
Next W
Next J
MsgBox F
End Function
Function Diem(Dm As Integer) As Integer
If Dm < 10 Then
Diem = Dm
ElseIf Dm = 10 Then
Diem = 0
Else
Diem = 10
End If
End Function
Tổng = 21 là bài xì dách rồi anh. Chỗ em bài 3 lá gọi là bài cào. Cách tính điểm là cộng điểm 3 lá lại, nếu >= 10 thì lấy phần đơn vị (10 thì lấy 0, 21 lấy 1,...) sau đó so điểm ai cao hơn là thắng. Trường hợp đặt biệt nếu cả 3 con nằm trong bộ J,Q,K (gọi là 3 tiên) thì sẽ được tính điểm cao nhất.Mình thử thực thi ý tưởng của bạn; Rất mong các bạn góp ý:
PHP:Function BBBB() 'BBBB:= Bài Bac Bát Bân ' Const Ro As String = "R01R02R03R04R05R06R07R08R09R10R11R12R13" Const Co As String = "C01C02C03C04C05C06C07C08C09C10C11C12C13" Const Cn As String = "N01N02N03N04N05N06N07N08N09N10N11N12N13" Const Bi As String = "B01B02B03B04B05B06B07B08B09B10B11B12B13" Dim StrC As String Dim J As Long, W As Long, Z As Long, Dj As Integer, Dw As Integer, Dz As Integer, Tong As Integer, F As Long ReDim Arr(1 To 44444, 1 To 1) As Integer Dim LaJ As String, LaW As String, LaZ As String StrC = Ro & Co & Cn & Bi For J = 1 To 52 - 2 LaJ = Mid(StrC, 3 * J - 2, 3) Dj = CInt(Right(LaJ, 2)) Dj = Diem(Dj) For W = J + 1 To (52 - 1) LaW = Mid(StrC, 3 * W - 2, 3) Dw = CInt(Right(LaW, 2)) Dw = Diem(Dw) For Z = J + 3 To 52 LaZ = Mid(StrC, 3 * Z - 2, 3) Dz = CInt(Right(LaZ, 2)) Dz = Diem(Dz) Tong = Dj + Dw + Dz If Tong = 21 Then F = F + 1: Arr(F, 1) = Tong End If Next Z Next W Next J MsgBox F End Function
Mã:Function Diem(Dm As Integer) As Integer If Dm < 10 Then Diem = Dm ElseIf Dm = 10 Then Diem = 0 Else Diem = 10 End If End Function
Sub ABC()
Dim arr&(1 To 52), res&(1 To 10, 1 To 2), j&, j2&, j3&, d&, d2&
For j = 1 To 52
If j < 37 Then arr(j) = (j - 1) \ 4 + 1 Else arr(j) = 10
If j < 11 Then res(j, 1) = j
Next j
For j = 1 To 50
For j2 = j + 1 To 51
d2 = arr(j) + arr(j2)
For j3 = j2 + 1 To 52
d = ((d2 + arr(j3) - 1) Mod 10) + 1
res(d, 2) = res(d, 2) + 1
Next j3
Next j2
Next j
Range("A2").Resize(UBound(res), 2) = res
End Sub
Có hàm nào liệt kê tổ hợp luôn không3/52 là khoảng 22 ngàn kiểu.
Với con số này thì chịu khó siêng ngồi liệt kê ra cũng được, đâu có cần "giỏi" lập trình lập trò gì.
Đặt 52 số rồi tính các kiểu bốc 3 số.
Dùng ((x-1) mod 13) + 1 để chuyển các trị về 1-13. Sau đó cộng điểm các số lại; 10, 11, 12, 13 tính là 0. Lấy tổng mod 10.
Sau khi có điểm thì dùng hàm Freq để lấy số lần xuất hiện.
Bài toán không khó. Chỉ là liệt kê hơi dài.
Bài cào là loại chơi hoàn toàn may rủi. Mọi người chơi đều có xác suất thắng bại hoà ngang nhau. Không có gì để suy tính tối ưu khả năng thắng của mình. Việc đếm có bao nhiêu lần bù, 1 nút, 2 nút,... hoàn toàn vô dụng.
Bài toán này có lẽ thớt hỏi để mang đi khoe trong quán nhậu.
Câu không có đủ chủ vị, câu hỏi không có dấu chấm hỏi. Bạn đang hỏi hay đang phát biểu? Nếu hỏi thì hỏi ai?Có hàm nào liệt kê tổ hợp luôn không
bác khó tính thế nhỉCâu không có đủ chủ vị, câu hỏi không có dấu chấm hỏi. Bạn đang hỏi hay đang phát biểu? Nếu hỏi thì hỏi ai?
Tùy bạn thôi. Nếu 1 câu hỏi rõ ràng là 1 câu hỏi thì sẽ có trả lời, nếu phát biểu chung chung thì không có trả lời, thí dụ như câu "khó quá" ở trên không phải câu hỏi.bác khó tính thế nhỉ
tính ra 3 chất giống nhau và 3 con liên tiếp nhau( lốc,sảnh) thì khó quá,
Người xưa vốn có thành kiến không tốt với dân đánh bài cào.Câu không có đủ chủ vị, câu hỏi không có dấu chấm hỏi. Bạn đang hỏi hay đang phát biểu? Nếu hỏi thì hỏi ai?
Đó là bạn chưa sành ăn gian đó thôi; Đã là cờ bạc thì phải có ăn gian, nên có câu cờ gian bạc lận mà!Bài cào là loại chơi hoàn toàn may rủi. Mọi người chơi đều có xác suất thắng bại hoà ngang nhau. Không có gì để suy tính tối ưu khả năng thắng của mình.. . . . .
Kim Chung, Đại Thế Giới, Chợ Cũ SG (chợ chó mèo), Nguyễn Công Trứ, ... Các nơi họp mặt của dân đổ bác Sài Thành, không xa lạ gì với tôi.Đó là bạn chưa sành ăn gian đó thôi; Đã là cờ bạc thì phải có ăn gian, nên có câu cờ gian bạc lận mà!
Ai biết cách nào ăn gian trong bài cào nên kể ra đây để các ngài mê đỏ đen tránh xa chiếu bạc dùm cái!
/-(A, HA, Ha, ha, a,. . . . . .