public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("输入总人数");
int int1=sc.nextInt();
System.out.println("输入出局序号");
int int2=sc.nextInt();
ArrayList<String> list= new ArrayList<>();
for (int i = 0; i < int1; i++) {
list.add((i + 1)+"");
}
get(list,int2);
}
public static void get(ArrayList<String>list, int n) {
int i=0;
while (list.size() >1) {
if(n==i+1){//数到n的数字移出去
i=0;//重新开始数
String remove = list.remove(i);
System.out.println(remove);
}
String remove1 = list.remove(0);
list.add(remove1);//把第一个移动到最后一个
i++;
}
String remove2 = list.remove(0);
System.out.println(remove2);//输出最后一个数字
}
约瑟夫问题JAVA版
最新推荐文章于 2025-04-21 23:27:41 发布