返回列表 上一主題 發帖

[發問] 1-1000中會出現的數字?

[發問] 1-1000中會出現的數字?

有一個數值是214,在1-1000中會出現的數字有那些?
例如:214由小而大排列方式有:
124 141 214 241 412 421等
請問可有方法解?
謝謝!

回復 1# q1a2z5
試試看
  1. Option Explicit
  2. Sub Ex() '數字的重排
  3.     Dim w As String, i As Single, t As Single
  4.     Dim ww As String, Ar(), Arr(), At(), tt As Single
  5.     w = 66654422               '指定數字
  6.     t = Application.WorksheetFunction.Fact(Len(w))  'Fact(工作表函數):數字的階乘。某數的階乘等於 1*2*3*...* 數字
  7.     '*******************************************
  8.     t = t / 3         '666重複
  9.     t = t / 2         '44重複
  10.     t = t / 2         '22重複
  11.     t = t / 3         '2,4,6重複
  12.     '*******************************************
  13.     ReDim At(1 To t)   '           '設立重新排列的總數的陣列
  14.     ReDim Ar(1 To Len(w))
  15.     For i = 1 To Len(w)
  16.         Ar(i) = Mid(w, i, 1) '數字指定到陣列中
  17.     Next
  18.     '**********************************
  19.     For i = 1 To UBound(At)
  20.         ww = ""                    '清空
  21.         Do
  22.             Randomize              '初始化亂數產生器
  23.             Arr = Ar               'Ar(數字指定的陣列)置入 Arr
  24.             Do
  25.                 tt = Int(((Len(w)) * Rnd) + 1) '亂數
  26.                 If Arr(tt) <> "" Then
  27.                     ww = ww & Arr(tt)
  28.                     Arr(tt) = ""              '清空
  29.                 End If
  30.             Loop Until Len(Join(Arr, "")) = 0   'Arr 全部清空
  31.             If InStr("," & Join(At, ",") & ",", "," & ww & ",") Then '數字存在"重新排列的總數的陣列
  32.                     ww = ""
  33.                 Else
  34.                  At(i) = ww
  35.                 Exit Do
  36.             End If
  37.         Loop
  38.     Next
  39.     [a1].Resize(t) = Application.WorksheetFunction.Transpose(At)
  40. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

=IFERROR(SMALL(IF(IFERROR(FIND(LEFT(B$2),ROW($1001000)),)+IFERROR(FIND(MID(B$2,2,1),ROW($1001000)),)+IFERROR(FIND(RIGHT(B$2),ROW($1001000)),)=6,ROW($1001000)),ROW(A1)),"")
陣列 下拉  B2是三位數的數字且不重複

TOP

http://blog.xuite.net/hcm19522/twblog/342507409

TOP

回復 3# hcm19522


公式有時會出現〔表情符號〕,請在發表時,先將〔禁用表情符號〕的勾選取消,重新打勾一次,再送出!

TOP

THANK ! "准大"

TOP

        靜思自在 : 能善用時間的人,必能掌握自己努力的方向。
返回列表 上一主題