ダウンロードファイルの中のソースコード
-- TI-BASIC Josephus Problem (back and forth) --
Define j2(n,r,s)=
Func
Local num,joselist,step,process,rp,i
{}→num
For i,1,n
i→num[i]
EndFor
r→process
1→step
1→rp
While step≤s
If mod(step,4)=1 or mod(step,4)=2 Then
While process>0
If num[rp]≠0 Then
process-1→process
If process=0 Then
0→num[rp]
rp→joselist[step]
step+1→step
Else
rp+1→rp
EndIf
If rp>n Then
rp-n→rp
EndIf
Else
rp+1→rp
EndIf
If rp>n Then
rp-n→rp
EndIf
EndWhile
r→process
ElseIf mod(step,4)=3 or mod(step,4)=0 Then
While process>0
If num[rp]≠0 Then
process-1→process
If process=0 Then
0→num[rp]
rp→joselist[step]
step+1→step
Else
rp-1→rp
EndIf
If rp≤0 Then
rp+n→rp
EndIf
Else
rp-1→rp
EndIf
If rp≤0 Then
rp+n→rp
EndIf
EndWhile
r→process
EndIf
EndWhile
Return joselist
EndFunc