ヨセフスの問題

ヨセフスの問題(ヨセフスのもんだい、英: Josephus problem)は、計算機科学および数学の理論的問題のひとつ。ジョセファスの問題とも。
n 人の人間が円を描くように並び、処刑されるのを待っている。最初の人をスキップし、さらに k-2 人をスキップし(つまり、k-1 人をスキップして k番目の人に到達する)、k番目の人を処刑する。そしてそこから、再度 k-1 人をスキップして k番目の人を処刑する。これを延々と続け(円は徐々に小さくなっていく)、最後に残った1人を釈放する。問題は、n と k が与えられたとき、起点をどこにしたら特定の人を最後まで残せるかである。

http://ja.wikipedia.org/wiki/%E3%83%A8%E3%82%BB%E3%83%95%E3%82%B9%E3%81%AE%E5%95%8F%E9%A1%8C

f(n,k)=(f(n-1,k)+k) mod n (ただし f(1,k)=0)

これを使って、And Then There Was Oneを解いた。ふつうにシュミレーションすると間に合わなかった。(工夫するといけるっぽいけど)