问题描述:n个人围成一个圆圈,从第一个开始报号,第一次报道m的人会被杀,此后报到k的人会被杀。最终留下的一个人可以幸免。
递推公式:f[i]=(f[i-1]+m)%i
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int m;
int yuesefu(int n){
if(n==1){
return 0;
}
else{
return (yuesefu(n-1)+m)%n;
}
}
int main(){
int n;
scanf("%d%d",&n,&m);
cout<<yuesefu(n)+1<<endl;
return 0;
}