chào các bạn
mình cần trợ giúp
mình có chuỗi ký tự ABCDE, mình muốn trộn lẫn ngẫu nhiên, đảo lộn vị trí các ký tự đó trả về tất cả các trường hợp, ví dụ như ACBDE, BECDA,..
Rất mong sự chỉ bảo của các bạn.
Con chưa hiểu chỗ này.Loại các số trùng ký tự số là được kết quả.
Còn thiếu điều kiện, các số có ký tự số 1, 2, 3, 4, 5."các số trùng ký tự số" là các số nào vậy bác? Tại sao loại chúng ra thìđược kết quả?
Đúng là 120 lầnView attachment 254530
Mình biết có 120 trường hợp hoán vị của chuỗi bạn cho. Mà mình nghĩ chưa ra cách liệt kê, hihi.
Cùng chờ các anh chị khác vào giúp xem sao.
1 | abcde |
2 | abced |
3 | abdce |
4 | abdec |
5 | abecd |
6 | abedc |
7 | acbde |
8 | acbed |
9 | acdbe |
10 | acdeb |
11 | acebd |
12 | acedb |
13 | adbce |
14 | adbec |
15 | adcbe |
16 | adceb |
17 | adebc |
18 | adecb |
19 | aebcd |
20 | aebdc |
21 | aecbd |
22 | aecdb |
23 | aedbc |
24 | aedcb |
25 | bacde |
26 | baced |
27 | badce |
28 | badec |
29 | baecd |
30 | baedc |
31 | bcade |
32 | bcaed |
33 | bcdae |
34 | bcdea |
35 | bcead |
36 | bceda |
37 | bdace |
38 | bdaec |
39 | bdcae |
40 | bdcea |
41 | bdeac |
42 | bdeca |
43 | beacd |
44 | beadc |
45 | becad |
46 | becda |
47 | bedac |
48 | bedca |
49 | cabde |
50 | cabed |
51 | cadbe |
52 | cadeb |
53 | caebd |
54 | caedb |
55 | cbade |
56 | cbaed |
57 | cbdae |
58 | cbdea |
59 | cbead |
60 | cbeda |
61 | cdabe |
62 | cdaeb |
63 | cdbae |
64 | cdbea |
65 | cdeab |
66 | cdeba |
67 | ceabd |
68 | ceadb |
69 | cebad |
70 | cebda |
71 | cedab |
72 | cedba |
73 | dabce |
74 | dabec |
75 | dacbe |
76 | daceb |
77 | daebc |
78 | daecb |
79 | dbace |
80 | dbaec |
81 | dbcae |
82 | dbcea |
83 | dbeac |
84 | dbeca |
85 | dcabe |
86 | dcaeb |
87 | dcbae |
88 | dcbea |
89 | dceab |
90 | dceba |
91 | deabc |
92 | deacb |
93 | debac |
94 | debca |
95 | decab |
96 | decba |
97 | eabcd |
98 | eabdc |
99 | eacbd |
100 | eacdb |
101 | eadbc |
102 | eadcb |
103 | ebacd |
104 | ebadc |
105 | ebcad |
106 | ebcda |
107 | ebdac |
108 | ebdca |
109 | ecabd |
110 | ecadb |
111 | ecbad |
112 | ecbda |
113 | ecdab |
114 | ecdba |
115 | edabc |
116 | edacb |
117 | edbac |
118 | edbca |
119 | edcab |
120 | edcba |
Anh dùng VBA đúng không?Đúng là 120 lần
1 abcde 2 abced 3 abdce 4 abdec 5 abecd 6 abedc 7 acbde 8 acbed 9 acdbe 10 acdeb 11 acebd 12 acedb 13 adbce 14 adbec 15 adcbe 16 adceb 17 adebc 18 adecb 19 aebcd 20 aebdc 21 aecbd 22 aecdb 23 aedbc 24 aedcb 25 bacde 26 baced 27 badce 28 badec 29 baecd 30 baedc 31 bcade 32 bcaed 33 bcdae 34 bcdea 35 bcead 36 bceda 37 bdace 38 bdaec 39 bdcae 40 bdcea 41 bdeac 42 bdeca 43 beacd 44 beadc 45 becad 46 becda 47 bedac 48 bedca 49 cabde 50 cabed 51 cadbe 52 cadeb 53 caebd 54 caedb 55 cbade 56 cbaed 57 cbdae 58 cbdea 59 cbead 60 cbeda 61 cdabe 62 cdaeb 63 cdbae 64 cdbea 65 cdeab 66 cdeba 67 ceabd 68 ceadb 69 cebad 70 cebda 71 cedab 72 cedba 73 dabce 74 dabec 75 dacbe 76 daceb 77 daebc 78 daecb 79 dbace 80 dbaec 81 dbcae 82 dbcea 83 dbeac 84 dbeca 85 dcabe 86 dcaeb 87 dcbae 88 dcbea 89 dceab 90 dceba 91 deabc 92 deacb 93 debac 94 debca 95 decab 96 decba 97 eabcd 98 eabdc 99 eacbd 100 eacdb 101 eadbc 102 eadcb 103 ebacd 104 ebadc 105 ebcad 106 ebcda 107 ebdac 108 ebdca 109 ecabd 110 ecadb 111 ecbad 112 ecbda 113 ecdab 114 ecdba 115 edabc 116 edacb 117 edbac 118 edbca 119 edcab 120 edcba
Đặt a là 1, b là 2...Con chưa hiểu chỗ này.
"các số trùng ký tự số" là các số nào vậy bác? Tại sao loại chúng ra thìđược kết quả?
A1=MID("abcde";ROUNDUP(ROW()/FACT(4);0);1)
B1=MID(SUBSTITUTE("abcde";A1;"");ROUNDUP((MOD(ROW()-1;FACT(4))+1)/FACT(3);0);1)
C1=MID(SUBSTITUTE(SUBSTITUTE( "abcde";A1;"");B1;"");ROUNDUP((MOD(ROW()-1;FACT(3))+1)/FACT(2);0);1)
D1=MID(SUBSTITUTE(SUBSTITUTE( SUBSTITUTE( "abcde";A1;"");B1;"");C1;"");ROUNDUP((MOD(ROW()-1;FACT(2))+1)/FACT(1);0);1)
E1=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( SUBSTITUTE( "abcde";A1;"");B1;"");C1;"");D1;"")
Tất cả cách trên đều không đúng yêu cầu của thớtchuỗi ký tự ABCDE, mình muốn trộn lẫn ngẫu nhiên, đảo lộn vị trí các ký tự đó trả về tất cả các trường hợp, ví dụ như ACBDE, BECDA,..
Uhm đúng rồi, mình dùng VBA để trộn chuỗi với nhau
@Quang_Hải : vậy anh thêm 1 chút nữa là giải quyết được yêu cầu của thớt: liệt kê 120 trường hợp đó nhưng là mỗi lần liệt kê 1 trường hợp thì đều là ngẫu nhiên trộn các ký tự lẫn nhau và lần ngẫu nhiên tiếp theo không trùng lại với tất cả các trường hợp ngẫu nhiên trước đó, lặp lại mãi cho đến hết 120 trường hợp thì dừng. Anh nhỉ !Tất cả cách trên đều không đúng yêu cầu của thớt![]()
Chắc sửa a thành A, b thành B, c thành C, d thành D, e thành E mới đúng hảTất cả cách trên đều không đúng yêu cầu của thớt![]()
Đây là bài toán liệt kê các hoán vị, tìm trên google sẽ có ngay thuật toán.@Quang_Hải : vậy anh thêm 1 chút nữa là giải quyết được yêu cầu của thớt: liệt kê 120 trường hợp đó nhưng là mỗi lần liệt kê 1 trường hợp thì đều là ngẫu nhiên trộn các ký tự lẫn nhau và lần ngẫu nhiên tiếp theo không trùng lại với tất cả các trường hợp ngẫu nhiên trước đó, lặp lại mãi cho đến hết 120 trường hợp thì dừng. Anh nhỉ !
bạn có thể gửi mình xin mẫu file này được k. cảm ơn bạnĐúng là 120 lần
1 abcde 2 abced 3 abdce 4 abdec 5 abecd 6 abedc 7 acbde 8 acbed 9 acdbe 10 acdeb 11 acebd 12 acedb 13 adbce 14 adbec 15 adcbe 16 adceb 17 adebc 18 adecb 19 aebcd 20 aebdc 21 aecbd 22 aecdb 23 aedbc 24 aedcb 25 bacde 26 baced 27 badce 28 badec 29 baecd 30 baedc 31 bcade 32 bcaed 33 bcdae 34 bcdea 35 bcead 36 bceda 37 bdace 38 bdaec 39 bdcae 40 bdcea 41 bdeac 42 bdeca 43 beacd 44 beadc 45 becad 46 becda 47 bedac 48 bedca 49 cabde 50 cabed 51 cadbe 52 cadeb 53 caebd 54 caedb 55 cbade 56 cbaed 57 cbdae 58 cbdea 59 cbead 60 cbeda 61 cdabe 62 cdaeb 63 cdbae 64 cdbea 65 cdeab 66 cdeba 67 ceabd 68 ceadb 69 cebad 70 cebda 71 cedab 72 cedba 73 dabce 74 dabec 75 dacbe 76 daceb 77 daebc 78 daecb 79 dbace 80 dbaec 81 dbcae 82 dbcea 83 dbeac 84 dbeca 85 dcabe 86 dcaeb 87 dcbae 88 dcbea 89 dceab 90 dceba 91 deabc 92 deacb 93 debac 94 debca 95 decab 96 decba 97 eabcd 98 eabdc 99 eacbd 100 eacdb 101 eadbc 102 eadcb 103 ebacd 104 ebadc 105 ebcad 106 ebcda 107 ebdac 108 ebdca 109 ecabd 110 ecadb 111 ecbad 112 ecbda 113 ecdab 114 ecdba 115 edabc 116 edacb 117 edbac 118 edbca 119 edcab 120 edcba
Vậy bạn xem file đính kèm này của mình và bài #11 của anh @huuthang_bd tham khảo nhé!Mẫu mình cần các bạn giúp đây nhé. Bạn nào đặt giups mình đặt công thức gửi lại mình xin file nhé. cảm ơn các bạn
cảm ơn bạn nhiềuVậy bạn xem file đính kèm này của mình và bài #11 của anh @huuthang_bd tham khảo nhé!