来源:约瑟夫环问题详解

    在一间房间总共有n个人(下标0~n-1),只能有最后一个人活命。

    • 所有人围成一圈 顺时针报数,每次报到q的人将被排除掉
    • 被排除掉的人将从房间内被移走
    • 然后从被kill掉的下一个人重新报数,继续报q,再清除,直到剩余一人

    当q = 2时候,是一个特例,能快速求解

    1. 注意这里的前提是n = 2k

    定义J(n)为n个人构成的约瑟夫环最后结果,则有j(2k) = 1
    直接看来源吧,比较复杂

    Jq(n+1) = ( Jq(n) + q ) %(n+1)