约瑟夫环求最后剩余的元素

递推公式
f[1]=0;
f[i]=(f[i-1]+m)%i;  (i>1)

# include<iostream>
# include<cstdio>
# include<string>
# include<cstring>
# include<cmath>
# include<algorithm>
using namespace std;
# define maxn 1000001
int main()
{
    int n,m;
    while(cin>>n>>m)
    {
        int ans=0;
        for(int i=2;i<=n;i++)
        ans=(ans+m)%i;
        printf("%d
",ans+1);
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/asif/p/3568497.html