質問:0,1、...、n-1これらのn個の数は、0から始まり、毎回この円からm番目の数を削除して円に配置されます。円に残っている最後の番号を見つけます。
def delete_circle_n(head,n):
p = head
while p!=p.next:
i = 0
while i<n:
p = p.next
i += 1
q = p.next
p.data = q.data
p.next = q.next
del q
return p
注:ジョセフリング問題の場合、循環リンクリストを使用して、最後に残っているノード、つまりp == p.nextのノードをシミュレートします。