int Joseph(int n,int m)
{
//int m=3;
int count = n; //count表示当前圈内剩下的人数
int num=0; //num表示当前报的数
int i,j; //i表示当前报数的人对应的下标
int *a, remain;
//动态申请连续的n个存储单元用来存放每个人的编号,将空间首地址赋值给a
a = (int *)malloc(n*sizeof(int));
for(i=0; i<n; i++)
a[i] = i+1; //a[i]保存第i个人的编号
i = 0; //从下标为0的人开始报数
//printf("Delete In Order: ");
while(count>1) //如果剩余人数大于1则循环
{
/*
* 获取幸运数字
* 1,返回值类型int
* 2,参数列表int num
*/
public static int getLucklyNum(int num) {
ArrayList<Integer> list = new ArrayList<>(); //创建集合存储1到num的对象
for(int i = 1; i <= num; i++) {
list.add(i); //将1到num存储在集合中
}
int count = 1; //用来数数的,只要是3的倍数就杀人
for(int i = 0; list.size() != 1; i++) { //只要集合中人数超过1,就要不断的杀
if(i == list.size()) { //如果i增长到集合最大的索引+1时
i = 0; //重新归零
}