设有n个人围坐一圈并按顺时针方向从1到n编号,从第1个人开始进行1到m的报数,报数到第个m人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所剩下一人为止。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
int a=sr.nextInt();
int c=sr.nextInt();
int sz[]=new int [a];
for(int d=0;d<a;d++)
{
sz[d]=d+1;
}
int pd=a;
int pd2=1;
for(;;)
{
for(int d=0;d<a;d++)
{
if(sz[d]==0)
{
continue;
}
if(pd2==c)
{
pd--;
if(pd==0)
{
System.out.println(sz[d]);
return;
}
sz[d]=0;
pd2=0;
}
pd2++;
}
}
}
}