package step4;
import java.util.Scanner;
public class Josephus {
public static void main(String args[]){
int total,number;
Scanner scan=new Scanner(System.in);
total=scan.nextInt(); //输入参与游戏的总人数
number=scan.nextInt(); //输入要报的数字
Josecount(total,number);
}
public static void Josecount(int personNumber ,int number) {
int[] persons = new int[personNumber];
int count = personNumber;
for(int i =0;i<personNumber;i++){
persons[i] = 0;
}
int i = 0;//记录当前报号的人,同时记录最后保留下来的人。
int m_number = 0;//当前报的号
while(count>=1){ //剩余的人数
if(i == personNumber){
i = 0;
}
if(persons[i]!=-1){
m_number++;
}
if(m_number==number){
persons[i] = -1;
count--;
m_number=0;
}
i++;
}
System.out.println("最后一个人编号:"+i);
}
}
04-14
3万+
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交