急:9十位数的排列成10位.10位数中不能有重复的数字做成例如:0124356987 4367812059 可能数据量巨大.需要分开做就是0~9的10个数字的全排列.应该是3628800个,按升序排列好就可以 哪位朋友做
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 08:42:13
急:9十位数的排列成10位.10位数中不能有重复的数字做成例如:0124356987 4367812059 可能数据量巨大.需要分开做就是0~9的10个数字的全排列.应该是3628800个,按升序排列好就可以 哪位朋友做
急:9十位数的排列成10位.10位数中不能有重复的数字
做成例如:0124356987 4367812059 可能数据量巨大.需要分开做
就是0~9的10个数字的全排列.应该是3628800个,按升序排列好就可以 哪位朋友做好把数据发到我的QQ邮箱:[email protected] QQ:199382528重谢
急:9十位数的排列成10位.10位数中不能有重复的数字做成例如:0124356987 4367812059 可能数据量巨大.需要分开做就是0~9的10个数字的全排列.应该是3628800个,按升序排列好就可以 哪位朋友做
放到文件里去:
Option Explicit
Dim A(9) As Integer
Dim I As Integer
Dim C As Double,S As String
Private Sub Form_Load()
Open "d:\JieGuo.txt" For Output As #1
A(0) = 0
Do While A(0) < 10
A(1) = 0
Do While A(1) < 10
If notCf(A(),1) Then
A(2) = 0
Do While A(2) < 10
If notCf(A(),2) Then
A(3) = 0
Do While A(3) < 10
If notCf(A(),3) Then
A(4) = 0
Do While A(4) < 10
If notCf(A(),4) Then
A(5) = 0
Do While A(5) < 10
If notCf(A(),5) Then
A(6) = 0
Do While A(6) < 10
If notCf(A(),6) Then
A(7) = 0
Do While A(7) < 10
If notCf(A(),7) Then
A(8) = 0
Do While A(8) < 10
If notCf(A(),8) Then
A(9) = 0
Do While A(9) < 10
If notCf(A(),9) Then
S = ""
For I = 0 To 9
S = S + Trim(A(I))
Next
DoEvents
C = C + 1
Print #1,C; S
End If
A(9) = A(9) + 1
Loop
End If
A(8) = A(8) + 1
Loop
End If
A(7) = A(7) + 1
Loop
End If
A(6) = A(6) + 1
Loop
End If
A(5) = A(5) + 1
Loop
End If
A(4) = A(4) + 1
Loop
End If
A(3) = A(3) + 1
Loop
End If
A(2) = A(2) + 1
Loop
End If
A(1) = A(1) + 1
Loop
A(0) = A(0) + 1
Loop
Close #1
End Sub
Function notCf(M() As Integer,N As Integer) As Boolean
Dim J As Integer
For J = 0 To N - 1
If M(J) = M(N) Then
notCf = False
Exit For
Else
notCf = True
End If
Next
End Function
'运行完毕之后,打开D:\JieGuo.txt文件就能见到结果了.注意,因文件太大,不要用记事本,它打不开.