关于一个人抽多少根烟会挂的代码求证
											 程序代码:
程序代码:import static java.lang.System.out;
/**
 * 
 * @author niyite
 *
 */
/**
 * 抽烟致死模型:
 * 1.假设人的寿命为变量life,80年,80*365*24*60*60秒
 * 2.假设抽一根烟,短寿20秒,为变量time
 * 3.假设连续抽烟,短寿时间翻倍,就是20+20*2+20*4+20*8...
 * 4.假设让一个人连续抽烟,不能停下 5.假设连续抽烟到第n根,此人挂掉
 */
public class SomgToDeath {
    
    static int n = 0;
    
    public static void main(String[] args) {
        long life = 80*365*24*3600L;// 生命的长度
        int time = 20;// 抽一根烟减少的寿命长度
        n = getN(life, time);// 连续抽烟n根,此人会挂
        out.println("此人抽烟到第:" + n + "根会挂掉!");
    }
    private static int getN(long life, int time) {
        
        long total = 0;
        for(;;){
            total += time*(Math.pow(2, n)-1);
            if(total<life){
                n++;
                continue;
            }
            break;
        }
        return n;
    }
} 
					
				
			是的,你没看错,一个还能活80年的人只要连续抽烟26根就会挂!
 
										
					
	
 
											






 
	    


 
										
					
	 
											
 
										
					
	