妙妙递推,前面实现起点为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")