#include<stdio.h>
int main(){
int m,n;
while(scanf("%d",&m)!=EOF){
scanf("%d",&n);
int a[m];
for(int i =0;i<m;i++)
a[i] = i+1;
int sum = 0;
for(int i =0;i<m;i++){
//if(sum+n-1>m-i-1)
//sum = sum+1;
sum = (sum+n-1)%(m-i);//变化的重要部分
//printf("%d “,sum);
for(int j = sum;j<m-i-1;j++)
a[j] = a[j+1];
//for(int k =0 ;k<m-i-1;k++)
//printf(”%d “,a[k]);
//printf(”\n");
}
printf("%d\n",a[0]);
}
return 0;
}
7-6 求一圈中留下的最后一个人 (30 分)
最新推荐文章于 2021-03-27 11:20:17 发布