• 汉诺塔之幸运人士问题


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

    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);
            
            }
    	}
    
    }
  • 相关阅读:
    Ajax跨域解决实例
    关于tween.js测试介绍
    signal() 和 sigaction()
    信号概述
    监控文件事件
    栈和栈帧
    进程结构和内存布局
    关于文件I/o的原子操作
    查询Linux系统中glibc的版本
    IOPS和Throughput
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13309831.html
Copyright © 2020-2023  润新知