题目链接:传送门
不用链表循环,直接用数学方法
f(n)=(f(n-1)+k)%n
代码如下:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define N 1000010
int a[N];
int main(){
int i,j,n,m,k;
while(scanf("%d%d",&n,&k)!=EOF){
a[1]=0;
for(i=2;i<=n;i++){
a[i]=(a[i-1]+k)%i;
}
cout<<a[n]+1<<endl;
}
return 0;
}