Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
24
Task/Josephus-problem/AutoHotkey/josephus-problem-1.ahk
Normal file
24
Task/Josephus-problem/AutoHotkey/josephus-problem-1.ahk
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
; Since AutoHotkey is 1-based, we're numbering prisoners 1-41.
|
||||
nPrisoners := 41
|
||||
kth := 3
|
||||
|
||||
; Build a list, purposefully ending with a separator
|
||||
Loop % nPrisoners
|
||||
list .= A_Index . "|"
|
||||
|
||||
; iterate and remove from list
|
||||
i := 1
|
||||
Loop
|
||||
{
|
||||
; Step by 2; the third step was done by removing the previous prisoner
|
||||
i += kth - 1
|
||||
if (i > nPrisoners)
|
||||
i := Mod(i, nPrisoners)
|
||||
; Remove from list
|
||||
end := InStr(list, "|", 0, 1, i)
|
||||
bgn := InStr(list, "|", 0, 1, i-1)
|
||||
list := SubStr(list, 1, bgn) . SubStr(list, end+1)
|
||||
nPrisoners--
|
||||
}
|
||||
Until (nPrisoners = 1)
|
||||
MsgBox % RegExReplace(list, "\|") ; remove the final separator
|
||||
20
Task/Josephus-problem/AutoHotkey/josephus-problem-2.ahk
Normal file
20
Task/Josephus-problem/AutoHotkey/josephus-problem-2.ahk
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
nPrisoners := 41
|
||||
kth := 3
|
||||
list := []
|
||||
|
||||
; Build a list of 41 items
|
||||
Loop % nPrisoners
|
||||
list.insert(A_Index)
|
||||
|
||||
; iterate and remove from list
|
||||
i := 1
|
||||
Loop
|
||||
{
|
||||
; Step by 3
|
||||
i += kth - 1
|
||||
if (i > list.MaxIndex())
|
||||
i := Mod(i, list.MaxIndex())
|
||||
list.remove(i)
|
||||
}
|
||||
Until (list.MaxIndex() = 1)
|
||||
MsgBox % list.1 ; there is only 1 element left
|
||||
Loading…
Add table
Add a link
Reference in a new issue