package decreaseAndConquer; /* * 递归实现Josephus Problem */ import java.util.*; public class JosephusProblem { static int position(int num){ if(num==1){ return 1; } else if(num%2==0){//如果num是一个偶数 return 2*position(num/2)-1; } else{//如果num是奇数 return 2*position(num/2)+1; } } public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入人数:"); int num = in.nextInt(); System.out.println("最后出局的是:"+position(num)); } }