環狀與點名 - 拼圖

Table of Contents


新年快樂

Private Sub UserForm_Click()

Dim player(0 To 999) As Boolean
Dim remain As Integer

remain = 1000
Count = 6
num = 0

Do While remain > 1
Do While Count > 0
Do While player(num) = True
num = (num + 1) Mod 1000
Loop
Count = Count - 1
num = (num + 1) Mod 1000
Loop

Do While player(num) = True
num = (num + 1) Mod 1000
Loop

remain = remain - 1
player(num) = True
Count = 6

Txt1.Text = Txt1.Text + Str(num)

num = (num + 1) Mod 1000

Loop

Form1.Caption = Str(num)

End Sub


= = = = = = = = = = = = = = = = = = = = = = = = =

執行結果是 297。 我記得在《具體數學》裡面有這個問題的完整討論。

PS.推文裡的約瑟夫請見書

--

All Comments

Ursula avatarUrsula2010-02-17
新年快樂~不過我看不太懂這程式...Orz但還是感謝解答