#include<iostream> //约瑟夫环经典循环+数学公式 using namespace std; int a[(int )1e5+5]; int main () { int num,k; cin>>num>>k; a[1]=0; for(int i=2;i<=num;i++) a[i]=(a[i-1]+k)%i; cout<<a[num]+1; return 0; }
转移方程:f(n)=(f(n-1)+k)%n;
原文:https://www.cnblogs.com/zwx7616/p/10917073.html