妙妙递推,前面实现起点为0的报数,最后一步加成k,原理是按照最后一个人反推回原来位置

#include <iostream>
using namespace std;

int main() {
    int n,k,m;cin>>n>>k>>m;
    int pos=0;
    for(int i=2;i<=n;++i){
        pos=(pos+m)%i;
    }
    cout<<(pos+k)%n;
}
// 64 位输出请用 printf("%lld")