Hiểu được chết liền!!!từ 1 tới 100 có bao nhiêu kết quả gồm 6 chữ số
Hiểu được chết liền!!!
Muốn làm gì thì diễn đạt cho rõ ràng. Cho thêm cái dấu chấm, dấu phẩy vào để ngắt câu.
Nếu khó diễn đạt thì vui lòng cho cái file lên.
Mình nghĩ thế thôitừ 1 tới 35(100) có bao nhiêu kết quả gồm 6 chữ số (không lặp) có tổng là 50 Rồi liệt kê kết quả (6 số )theo cột A B C D E F
5 số không trùng nhỏ nhất là 1, 2, 3,4, 5 có tổng là 15. Vậy muốn 6 số không trùng có tổng là 50 thì số thứ 6 là 35
Đề bài toán có thể là
Mình nghĩ thế thôi
Híc
Từ 1 đến 100 không có số nào có 6 chữ số cả.Chào anh chị em
Mình nhờ mọi người lập hộ hàm VB nội dung là
từ 1 tới 100 có bao nhiêu kết quả gồm 6 chữ số (không lặp) có tổng là 50 Rồi liệt kê kết quả (6 số )theo cột A B C D E F
Cám ơn ạ
Bài #1 đòi tổng =50, bài này đòi tổng =100, bài sau nữa đòi tổng =?xxxXin lỗi các bạn khả năng diễn đạt mình hơi kém làm mọi người hiểu lầm. File đính kèm có ví dụ
Bài toán cho 100 số từ 1 tới 100. Liệt kê có bao nhiêu tổ hợp gồm 6 chữ số (không trùng) có tổng là 100.
50 sửa thành 100 thì cũng không vấn đề gì. Số 6 sửa thành số khác mới căngBài #1 đòi tổng =50, bài này đòi tổng =100, bài sau nữa đòi tổng =?xxx
"Liệt kê có bao nhiêu tổ hợp gồm 6 chữ số (không trùng)": Bỏ "chữ" là chuẩn men!
Sub A()
ActiveSheet.UsedRange.Clear
Dim Tong As Long, i1 As Long, i2 As Long, i3 As Long, i4 As Long, i5 As Long, i6 As Long
For i1 = 1 To 95
Tong = i1
If Tong + i1 * 5 + 15 > 100 Then Exit For
For i2 = i1 + 1 To 96
Tong = Tong + i2
If Tong + i2 * 4 + 10 > 100 Then Exit For
For i3 = i2 + 1 To 97
Tong = Tong + i3
If Tong + i3 * 3 + 6 > 100 Then Exit For
For i4 = i3 + 1 To 98
Tong = Tong + i4
If Tong + i4 * 2 + 3 > 100 Then Exit For
For i5 = i4 + 1 To 99
Tong = Tong + i5
If Tong + i5 + 1 > 100 Then Exit For
For i6 = i5 + 1 To 100
Tong = Tong + i6
If Tong = 100 Then
With Cells(&H10000, 1).End(xlUp).Offset(1)
.Value = i1
.Offset(, 1).Value = i2
.Offset(, 2).Value = i3
.Offset(, 3).Value = i4
.Offset(, 4).Value = i5
.Offset(, 5).Value = i6
End With
ElseIf Tong > 100 Then
Exit For
End If
Tong = Tong - i6
Next
Tong = Tong - i5
Next
Tong = Tong - i4
Next
Tong = Tong - i3
Next
Tong = Tong - i2
Next
Tong = Tong - i1
Next
End Sub
Vẫn còn 6 màBài #11 thành số 5 rồi kìa anh![]()
Tôi nhầm. Bạn thử cái này:Bạn huuthang_bd ơi mình thấy bị thiếu khá nhiều kết quả. bạn xem file đính kèm nhé
cảm ơn nhiều
Sub A()
ActiveSheet.UsedRange.Clear
Dim Tong As Long, i1 As Long, i2 As Long, i3 As Long, i4 As Long, i5 As Long, i6 As Long
For i1 = 1 To 95
If Tong + i1 * 6 + 15 > 100 Then Exit For
Tong = i1
For i2 = i1 + 1 To 96
If Tong + i2 * 5 + 10 > 100 Then Exit For
Tong = Tong + i2
For i3 = i2 + 1 To 97
If Tong + i3 * 4 + 6 > 100 Then Exit For
Tong = Tong + i3
For i4 = i3 + 1 To 98
If Tong + i4 * 3 + 3 > 100 Then Exit For
Tong = Tong + i4
For i5 = i4 + 1 To 99
If Tong + i5 + 2 > 100 Then Exit For
Tong = Tong + i5
For i6 = i5 + 1 To 100
If Tong + i6 > 100 Then Exit For
Tong = Tong + i6
If Tong = 100 Then
With Cells(&H10000, 1).End(xlUp).Offset(1)
.Value = i1
.Offset(, 1).Value = i2
.Offset(, 2).Value = i3
.Offset(, 3).Value = i4
.Offset(, 4).Value = i5
.Offset(, 5).Value = i6
End With
End If
Tong = Tong - i6
Next
Tong = Tong - i5
Next
Tong = Tong - i4
Next
Tong = Tong - i3
Next
Tong = Tong - i2
Next
Tong = Tong - i1
Next
End Sub
Góp thêm codeXin lỗi các bạn khả năng diễn đạt mình hơi kém làm mọi người hiểu lầm. File đính kèm có ví dụ
Bài toán cho 100 số từ 1 tới 100. Liệt kê có bao nhiêu tổ hợp gồm 6 chữ số (không trùng) có tổng là 100.
Sub GPE()
Dim Tong As Long, Xi As Long, Arr(1 To 1000000, 1 To 6) As Long
Dim i1 As Long, i2 As Long, i3 As Long, i4 As Long, i5 As Long, i6 As Long
ActiveSheet.UsedRange.Clear
Tong = 100
Xi = Int((Tong - 15) / 6)
For i1 = 1 To xi
Xi = Int((Tong - i1 - 10) / 5)
For i2 = i1 + 1 To Xi
Xi = Int((Tong - i1 - i2 - 6) / 4)
For i3 = i2 + 1 To Xi
Xi = Int((Tong - i1 - i2 - i3 - 3) / 3)
For i4 = i3 + 1 To Xi
Xi = Int((Tong - i1 - i2 - i3 - i4 - 1) / 2)
For i5 = i4 + 1 To Xi
i6 = Tong - i1 - i2 - i3 - i4 - i5
If k = 1000000 Then GoTo Thoat
k = k + 1
Arr(k, 1) = i1: Arr(k, 2) = i2
Arr(k, 3) = i3: Arr(k, 4) = i4
Arr(k, 5) = i5: Arr(k, 6) = i6
Next
Next
Next
Next
Next
Thoat:
Range("A2").Resize(k, 6) = Arr
End Sub
...
Cũng may là chủ topic ra đề là " chặp 6" chứ nếu chặp..... 30 thì code phải khai báo bao nhiêu biến & chạy bao nhiêu vòng lặp nhỉ ?
Híc, nhìn muốn...tỉnh luôn, mà nếu nó là chỉnh hợp lặp thì sao nhỉ ?
...
Bạn thử code của "bác" nào?Các ơn các bác giúp đỡ.
Khi mình thử thay đổi tổng 6 số là 110 thì kết quả trả về
1 2 3 4 5 108 (108 nằm ngoài khoảng số đã cho từ 1..100 mất rồi)
Vậy có cách nào liệt kê tổng quát được kết quả có tổng 6 số trong khoảng từ 90,91,92..99 được không
VD thỏa mãn tổng mix : 90 và Tổng max: 99
xin chân thành cảm ơn
Bạn thử code của "bác" nào?
Trường hợp bạn nói là một bài toán khác chứ không phải tổng quát. Nếu hỏi ngay từ đầu thì tôi làm thử còn thay đổi thì không. Ai dám chắc được đây là lần thay đổi cuối cùng![]()