//约瑟夫环
public class K{
public static void main(String[] args){
final int n=13,s=3,m=5;
int i=s-1,j,k=n,g=1; //这里对于j,k的赋值是为什么,还有j,k分别代表什么?
int[] a=new int[n]; //还有希望有人能帮忙分析一下这套代码的思路,谢谢。
for(int h=1;h<=n;h++)
a[h-1]=h;
System.out.println("\n出圈的顺序为:");
do
{ i=i+(m-1);
while(i>=k)
i=i-k;
System.out.print(" "+a[i]);
for(j=i;j<k-1;j++)
a[j]=a[j+1];
k--;
g++;
}
while(g<=n);
}
}
相关分类