Board logo

標題: [發問] 1-1000中會出現的數字? [打印本頁]

作者: q1a2z5    時間: 2015-9-2 09:58     標題: 1-1000中會出現的數字?

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

回復 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
複製代碼

作者: hcm19522    時間: 2015-9-14 13:01

=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是三位數的數字且不重複
作者: hcm19522    時間: 2015-9-14 13:23

http://blog.xuite.net/hcm19522/twblog/342507409
作者: 准提部林    時間: 2015-9-14 15:11

回復 3# hcm19522


公式有時會出現〔表情符號〕,請在發表時,先將〔禁用表情符號〕的勾選取消,重新打勾一次,再送出!
作者: hcm19522    時間: 2015-9-16 14:11

THANK ! "准大"




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)