![]() |
#2
a3510218172018-05-04 16:20
|

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;
}
}
/**
*
* @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根就会挂!
