ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] 1-1000¤¤·|¥X²{ªº¼Æ¦r?

¦^´_ 1# q1a2z5
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex() '¼Æ¦rªº­«±Æ
  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               '«ü©w¼Æ¦r
  6.     t = Application.WorksheetFunction.Fact(Len(w))  'Fact(¤u§@ªí¨ç¼Æ):¼Æ¦rªº¶¥­¼¡C¬Y¼Æªº¶¥­¼µ¥©ó 1*2*3*...* ¼Æ¦r
  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)   '           '³]¥ß­«·s±Æ¦CªºÁ`¼Æªº°}¦C
  14.     ReDim Ar(1 To Len(w))
  15.     For i = 1 To Len(w)
  16.         Ar(i) = Mid(w, i, 1) '¼Æ¦r«ü©w¨ì°}¦C¤¤
  17.     Next
  18.     '**********************************
  19.     For i = 1 To UBound(At)
  20.         ww = ""                    '²MªÅ
  21.         Do
  22.             Randomize              'ªì©l¤Æ¶Ã¼Æ²£¥Í¾¹
  23.             Arr = Ar               'Ar(¼Æ¦r«ü©wªº°}¦C)¸m¤J Arr
  24.             Do
  25.                 tt = Int(((Len(w)) * Rnd) + 1) '¶Ã¼Æ
  26.                 If Arr(tt) <> "" Then
  27.                     ww = ww & Arr(tt)
  28.                     Arr(tt) = ""              '²MªÅ
  29.                 End If
  30.             Loop Until Len(Join(Arr, "")) = 0   'Arr ¥þ³¡²MªÅ
  31.             If InStr("," & Join(At, ",") & ",", "," & ww & ",") Then '¼Æ¦r¦s¦b"­«·s±Æ¦CªºÁ`¼Æªº°}¦C
  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
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¨Ã«D¦³¿ú¾{¬O§Ö¼Ö¡A°Ý¤ßµL·\¤ß³Ì¦w¡C
ªð¦^¦Cªí ¤W¤@¥DÃD