汉诺塔之幸运人士问题

一次大型派对的最后节目是选出一位幸运人士,该人士将获得派对组织者准备的一个钻石戒指。
而选择幸运人士的办法是让所有人员一字排列,然后从左至右点数,凡是奇数号的全部剔除。
对于剩下的人员,又从左至右点数,逢奇数号就剔除。
如此不断递归下去,直到只剩下一个人为止,此人即为幸运之人。
请设计一个递归算法计算幸运之人所在的位置。

import java.util.Scanner;

public class xinyun {
static int h=1;
static int sum=0;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()) {
        int n=sc.nextInt();
        while(n>1) {
        	for(int i=1;h<=n;i++) {
        		h=2*h;
        		
        	}
        	n=n/2;
            sum=h/2;
        		
        }
        System.out.println(sum);
        
        }
	}

}
原文地址:https://www.cnblogs.com/hzcya1995/p/13309831.html