public class yuesefu_ring { /**
* @param args
*/
public static int[] create(int n)
{
int matrix[]=new int[n];
for(int i=0;i<n;i++)
matrix[i]=i+1;
return matrix;
}
public static void sort(int matrix[],int m)
{
int n=matrix.length;
int record;
while(n>0)
{
while(m>n)
m-=n;
record=matrix[m-1];
int ling[]=new int[m-1];
for(int i=0;i<m-1;i++)
ling[i]=matrix[i];
for(int i=m;i<n;i++)
matrix[i-m]=matrix[i];
for(int i=0;i<ling.length;i++)
matrix[i+n-m]=ling[i];
matrix[--n]=record;
}
}
public static void print(int matrix[])
{
for(int i=matrix.length-1,flag=0;i>=0;i--)
{
System.out.print(matrix[i]+" ");
flag++;
if(flag%10==0)
System.out.println();
}
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int n=100,m=12;
int matrix[]=new int[n];
matrix=create(n);
sort(matrix,m);
print(matrix);
}}
public class Yuesefu {
public static void main(String[] args){
int[] person = new int[17];
int count = 17, num = 3;
int tmp = 0;
int i, killed = 0;
//person[i] = 1 表示第i+1个人在圈内
//person[i] = 0表示把第i+1个人扔入大海
for(i = 0; i < count; ++i)
person[i] = 1;
i = 0;
while(killed != count)
{
if(i == count)
i = 0;
tmp += person[i];
if(tmp == num)
{
person[i] = 0;
++killed;
System.out.println(i+1 + " is killed");
tmp = 0;
}
++i;
}
}}
{
public static void main(String[] args)
{
int n = Integer.parseInt(args[0]);//总人数
int m = Integer.parseInt(args[1]);//报名数大小(从0报到m)
Jos jos=new Jos();
System.out.println("最后一个数为:"+jos.josephus3(n,m));
}
}class Jos
{
public int josephus3(int n, int m)
{
int r = 0;
for (int i = 2; i <= n; i++)
{
r = (r + m) % 1;
}
return r + 1;
}
}