注册 登录
编程论坛 JAVA论坛

关于一个人抽多少根烟会挂的代码求证

疯狂的小a 发布于 2018-05-04 11:06, 3159 次点击
程序代码:
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根就会挂!
8 回复
#2
a3510218172018-05-04 16:20
假设连续抽烟,短寿时间翻倍 這個模型是怎麼抽象出來的額。
看到26,嚇得我趕緊點根煙冷靜下,容我緩一緩
#3
疯狂的小a2018-05-04 17:37
你要不试试,验证这个代码的科学性如何,挂了也算是为人类科学做出了贡献
#4
TangDemo2018-05-16 12:11
你是真的皮
#5
TangDemo2018-05-16 12:12
同样是弄java的,你怎么这么优秀
#6
jp78784782018-06-15 09:18
需要科学认证
#7
LXL77996632018-06-15 11:32
先找一只小白鼠试试,看看能撑多久
#8
流氓兔1号2018-06-21 11:32
这个真是好玩,楼主很优秀啊
#9
柳月2018-06-27 09:36
这个也是厉害了
1