题解 | 约瑟夫环
约瑟夫环
https://www.nowcoder.com/practice/e417cfe32c74416ca38247f619ddb322
#include <iostream>
using namespace std;
int main() {
int n,k,m,a;
cin >> n>>k>>m;// 注意 while 处理多个 case
int f[n+1];
f[0]=0;
for(int i=1;i<=n;i++){
f[i]=(f[i-1]+m)%i;
}
a=f[n]+k;
if(a>n)a-=n;
cout<<a;
}
// 64 位输出请用 printf("%lld")
这样套公式?
查看2道真题和解析