Xin anh chị giúp đỡ về số đảo 4 con

Liên hệ QC

thanhnhay

Thành viên mới
Tham gia
23/9/16
Bài viết
6
Được thích
2
Em xin anh chị nào có đi ngang qua. Xin giúp đỡ em về việc đảo các con số lại với nhau.
Ví dụ: 1234 đảo băng tay là 24 lần
Nhưng mình có cách nào để khi nhập số 1234 thì nó ra 24 vòng chính xác không anh chị.
Em chân thành cảm ơn
 
Tìm trong đây các bài về "hoán vị".
 
Tìm trong đây các bài về "hoán vị".
Dạ em cảm ơn.
Em có thấy 1 bài về 1 bạn nào đó hỏi về cách đảo 4 số. Nhưng em có load về thì nó chỉ báo là bao nhiêu vòng số. Chứ không tự đông nhảy những số mà mình muốn biết.
Anh chị có cách nào chỉ em với nha
 
Dạ em cảm ơn.
Em có thấy 1 bài về 1 bạn nào đó hỏi về cách đảo 4 số. Nhưng em có load về thì nó chỉ báo là bao nhiêu vòng số. Chứ không tự đông nhảy những số mà mình muốn biết.
Anh chị có cách nào chỉ em với nha
Bạn thấy có 1 bài là ngưng lại hay đã tìm hết cách mà chỉ thấy 1? Ở đây có nhiều bài lắm. Chịu khó tìm cho kỹ.
 
Em xin anh chị nào có đi ngang qua. Xin giúp đỡ em về việc đảo các con số lại với nhau.
Ví dụ: 1234 đảo băng tay là 24 lần
Nhưng mình có cách nào để khi nhập số 1234 thì nó ra 24 vòng chính xác không anh chị.
Em chân thành cảm ơn
=FACT(LEN(A2))
Giả sử dữ liệu nằm ở ô A2:
 
Bạn thấy có 1 bài là ngưng lại hay đã tìm hết cách mà chỉ thấy 1? Ở đây có nhiều bài lắm. Chịu khó tìm cho kỹ.
Vấn đề ở đây không phải là em không chịu kiếm. Mà là em không biết từ khoá nào để tìm kiếm thôi ạ
Bài đã được tự động gộp:

=FACT(LEN(A2))
Giả sử dữ liệu nằm ở ô A2:
Dạ ý của em là em cần nó nhảy cụ thể ra bao nhiêu con số
Em ví dụ như mình có dãy số 1234 ( tính ra 24 vòng số ). Thay vì mình ngồi tự đảo bằng tay cho ra 24 cặp số này. Thì mình có công thức nào để khi nhập nó sẽ tự động ra 24 cặp số này không ạ?
 
Mình có tìm được 1 đoạn code trên GPE (không phải của mình viết). Bạn xem nhé
Option Explicit
Function UniquePermuMain(ByVal x As String, ByVal y As String, ByRef dic As Object)
Dim i As Long, j As Long, tmp As String, Ret
If dic Is Nothing Then Set dic = CreateObject("Scripting.Dictionary")
j = Len(y)
tmp = x & y
If j < 2 Then
If Not dic.Exists(tmp) Then dic.Add tmp, ""
Else
For i = 1 To j
Ret = UniquePermuMain(x & Mid(y, i, 1), Left(y, i - 1) & Right(y, j - i), dic)
Next
End If
UniquePermuMain = dic.Keys
End Function

Function So_dao(ByVal text As String)
Dim dic As Object, x As String
So_dao = UniquePermuMain(x, text, dic)
End Function
 

File đính kèm

Mình có tìm được 1 đoạn code trên GPE (không phải của mình viết). Bạn xem nhé
Option Explicit
Function UniquePermuMain(ByVal x As String, ByVal y As String, ByRef dic As Object)
Dim i As Long, j As Long, tmp As String, Ret
If dic Is Nothing Then Set dic = CreateObject("Scripting.Dictionary")
j = Len(y)
tmp = x & y
If j < 2 Then
If Not dic.Exists(tmp) Then dic.Add tmp, ""
Else
For i = 1 To j
Ret = UniquePermuMain(x & Mid(y, i, 1), Left(y, i - 1) & Right(y, j - i), dic)
Next
End If
UniquePermuMain = dic.Keys
End Function

Function So_dao(ByVal text As String)
Dim dic As Object, x As String
So_dao = UniquePermuMain(x, text, dic)
End Function
Mình cảm ơn bạn. Để mình thử rồi báo bạn nhé
 
Em xin anh chị nào có đi ngang qua. Xin giúp đỡ em về việc đảo các con số lại với nhau.
Ví dụ: 1234 đảo băng tay là 24 lần
Nhưng mình có cách nào để khi nhập số 1234 thì nó ra 24 vòng chính xác không anh chị.
Em chân thành cảm ơn
ngồi buồn buồn viết cho bạn cái sub,xem có đúng yêu cầu hay không nha. Cây nhà lá vườn
 

File đính kèm

ngồi buồn buồn viết cho bạn cái sub,xem có đúng yêu cầu hay không nha. Cây nhà lá vườn
Cảm ơn bạn. Mình mở lên mà vẫn không dùng được. Hic...
Mình chỉ cần ví dụ nhập 1234 nó tự nhảy ra 24 số là được rồi mà chưa biết làm sao để làm
Bài đã được tự động gộp:

Mình có tìm được 1 đoạn code trên GPE (không phải của mình viết). Bạn xem nhé
Option Explicit
Function UniquePermuMain(ByVal x As String, ByVal y As String, ByRef dic As Object)
Dim i As Long, j As Long, tmp As String, Ret
If dic Is Nothing Then Set dic = CreateObject("Scripting.Dictionary")
j = Len(y)
tmp = x & y
If j < 2 Then
If Not dic.Exists(tmp) Then dic.Add tmp, ""
Else
For i = 1 To j
Ret = UniquePermuMain(x & Mid(y, i, 1), Left(y, i - 1) & Right(y, j - i), dic)
Next
End If
UniquePermuMain = dic.Keys
End Function

Function So_dao(ByVal text As String)
Dim dic As Object, x As String
So_dao = UniquePermuMain(x, text, dic)
End Function
Mình đã thử và khi nhập số vô nó không nhảy ra 24 số mà tất cả nó đều bằng 0
 
Mình đã thử và khi nhập số vô nó không nhảy ra 24 số mà tất cả nó đều bằng 0
Bạn làm vầy sẽ ra nè:
Copy những gì bạn ấy trao cho bạn vô file excel;
Tại 1 dòng trống bất kỳ ta lấy 1 ô mà số cột sau nó còn > 24
Nhập vô ô đó nhóm từ =So_Dao("A35D") & {ENTER}
 
Em xin anh chị nào có đi ngang qua. Xin giúp đỡ em về việc đảo các con số lại với nhau.
Ví dụ: 1234 đảo băng tay là 24 lần
Nhưng mình có cách nào để khi nhập số 1234 thì nó ra 24 vòng chính xác không anh chị.
Em chân thành cảm ơn
Hãy dùng VBA nhé lấy For ....next mà làm bao nhiêu số cũng được .
 
Web KT

Bài viết mới nhất

Back
Top Bottom