#define _CRT_SECURE_NO_WARNINGS;
#include<stdio.h>
int arr[];
int main() {
int n,m,i;
while(1){
scanf("%d%d",&n,&m);
if(n==0){
break;
}
for(i=0;i<n;i++){
arr[i]=i+1;
}
int nPtr=0;
for(i=0;i<n;i++){
int nCounted=0;
while(nCounted<m){
while(arr[nPtr]==0){
nPtr=(nPtr+1)%n;
}
nCounted++;
nPtr=(nPtr+1)%n;
}nPtr--;
if(nPtr<0){
nPtr=n-1;
}
if(i==n-1){
printf("%d\n",arr[nPtr]);
}
arr[nPtr]=0;
}
}
}
约瑟夫问题
最新推荐文章于 2024-06-13 14:43:16 发布