[HELP] Toán lớp 11 - Excel

Liên hệ QC

xiilliilliix

Thành viên mới
Tham gia
10/3/11
Bài viết
19
Được thích
2
Em có bài toán sau, mong các anh chị giúp đõ:
1. Có bao nhiêu cách xếp thành 1 hàng có 6 chỗ từ các số {1,2} . Và cách tạo ra hàng ấy trong excel.
VD :
1 1 1 1 1 1
2 2 2 2 2 2
1 2 1 2 1 2
1 1 1 2 2 2
2 1 2 1 1 2
.........???
2. Tương tự như câu 1 nhưng 1 phải đứng trước 2
VD:
1 1 2 2 2 2
1 2 2 2 2 2
1 1 1 2 2 2
1 1 1 1 2 2

Chân thành cảm ơn các anh chị nhiều.
Chúc các anh chị 1 ngày làm việc vui vẻ :))
 
Cũng là code cũ bạn sử dụng đoạn code này có sửa đổi chút đỉnh ở liên kết dưới.
http://www.giaiphapexcel.com/diendan/threads/help-tổ-hợp-chỉnh-hợp.125663/#post-789502
Mã:
Const dodai = 6
Dim k As Long, s As String, so
Public Sub test()
    s = "": k = 1
    so = Array(1, 2)
    Xepso 0, False 'Cau 1, Ghi du lieu vao cot A
    k = 1
    Xepso 0, True 'Cau 2, Ghi du lieu vao cot B
End Sub

Public Sub Xepso(i As Integer, sx As Boolean)
Dim j As Integer
If Len(s) = dodai Then
            Range("A" & k).Offset(, IIf(sx, 1, 0)).Value = "'" & s
            k = k + 1
            Exit Sub
End If
For j = 0 To UBound(so)
    If (so(i) <= so(j)) Or (sx) Then
        s = s & so(j)
        Xepso j, sx
        s = Left(s, Len(s) - 1)
    End If
Next j
End Sub
 
Bài 1 thực chất là chỉnh hợp lặp chập 6 của 2. Số các số là 2 mũ 6 = 64
Có thể lập luận.

Thôi kg trả lời
 
Em có bài toán sau, mong các anh chị giúp đõ:
1. Có bao nhiêu cách xếp thành 1 hàng có 6 chỗ từ các số {1,2} . Và cách tạo ra hàng ấy trong excel.
VD :
1 1 1 1 1 1
2 2 2 2 2 2
1 2 1 2 1 2
1 1 1 2 2 2
2 1 2 1 1 2
.........???
2. Tương tự như câu 1 nhưng 1 phải đứng trước 2
VD:
1 1 2 2 2 2
1 2 2 2 2 2
1 1 1 2 2 2
1 1 1 1 2 2

Chân thành cảm ơn các anh chị nhiều.
Chúc các anh chị 1 ngày làm việc vui vẻ :))
1.
Mã:
=TEXT(DEC2BIN(ROW(A1)-1)+111111,"[<=222222]000000;")
2.
Mã:
=TEXT(111111+LEFT("01111111",ROW(A1)),"[<=222222]000000;")
 
Cũng là code cũ bạn sử dụng đoạn code này có sửa đổi chút đỉnh ở liên kết dưới.
http://www.giaiphapexcel.com/diendan/threads/help-tổ-hợp-chỉnh-hợp.125663/#post-789502
Mã:
Const dodai = 6
Dim k As Long, s As String, so
Public Sub test()
    s = "": k = 1
    so = Array(1, 2)
    Xepso 0, False 'Cau 1, Ghi du lieu vao cot A
    k = 1
    Xepso 0, True 'Cau 2, Ghi du lieu vao cot B
End Sub

Public Sub Xepso(i As Integer, sx As Boolean)
Dim j As Integer
If Len(s) = dodai Then
            Range("A" & k).Offset(, IIf(sx, 1, 0)).Value = "'" & s
            k = k + 1
            Exit Sub
End If
For j = 0 To UBound(so)
    If (so(i) <= so(j)) Or (sx) Then
        s = s & so(j)
        Xepso j, sx
        s = Left(s, Len(s) - 1)
    End If
Next j
End Sub
Cảm ơn anh rất rất nhiều
 
Bài toán thứ nhất là chuỗi nhị phân. Chỉ cần dùng hàm Dec2Bin, tính đến lúc độ dài chuỗi kết quả > 6; đổi 0 thành 2
Bài toán thứ hai là MID("111111222222", i, 6) vòng lặp i = 1 to 7
 
Function Chuoi1(byVal n as integer) as variant
' trả về 1 mảng chuỗi, mỗi phần tử mảng là một chuỗi n ký tự 1 hoặc 2
dim mg() as string, i as integer, chop as integer ' số chóp bu
chop = 2^n
redim mg(1 to chop)
for i = 1 to chop
' tạo chuỗi 7 ký tự để khong phải mất công format 6 ký tư
mg(i) = Right(Replace(Dec2Bin(chop + i - 1), "0", 2"),n)
next i
Chuoi1 = mg
End Function

Function Chuo21(byVal n as integer) as variant
' trả về 1 mảng chuỗi, mỗi phần tử mảng là một chuỗi n ký tự 1 hoặc 2
' dễ hơn chuoi 1, vì 2 bắt buôc đi sau 1
dim mg() as string, mau as string, i as integer
mau = string(n, "1") & string(n, "2")
redim mg(1 to n+1)
for i = 1 to n+1
mg(i) = Mid(mau, i, n)
next i
Chuoi2 = mg
End Function
 
Web KT
Back
Top Bottom