約瑟夫環遞推公式

杜教篩 模板 .net

#include<stdio.h>
//int f[1000000];
int cir(int n,int m)
{
    int p=0;
    for(int i=2;i<=n;i++)
    {
        p=(p+m)%i;
    }
    return p+1;
}
int main(){
	//freopen("C:\\Users\\black\\Desktop\\in.txt","r",stdin);
	//int T=10;	scanf("%d",&T);
	int x,y;
	int co = 0;
	while(scanf("%d %d",&x,&y) != EOF){
	//	if(x<=y) while(1);
		int m = y,n=x;
		printf("%d\n",cir(n,m)-1);
	}

	return 0;
}