珠穆朗玛峰问题和猴子吃桃相关问题

1. 珠峰高度:8848m , 纸的厚度是 0.01mm ,问纸折多少次能到到珠穆朗玛峰的高度?
  
 1    0.01*2 
    2    0.01*2*2  
    3    0.01*2*2*2 
    4    0.01*2*2*2*2
 ......
    0.00001* 2^n >= 8848   n=? 30
 
var count = 0; //记录折纸的次数
for(var i = 0.00001;i <= 8848;i*=2){
    count+=1
}
console.log(count);

换一种方法

var a= 0;//记录次数
    for(var i = 0.01; ; i=i*2){
        if(i>=8848000){
            break;
        }
        a++;
    }
    console.log(a);

使用while语句完成

var b= 0;
    var x= 0.01;
    while (x<=8848000) {
        x = x*2;//x*=2
        b = b+1;//b++
    }
    console.log(b);

 

还可以使用break 终止循环

var h = 0.00001;  //记录折纸的高度
// i 表示折纸的次数
for(var i=1;;i++){
    h= h*2
    if (h >= 8848) {
        console.log(i);
        break;
    }
}
4. 猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个; 
 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;
 以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。
 问第一天有多少个桃子?
我们可以使用倒推的方法来想
时间          剩余的桃子数量
 
第10天         1
  9            4     (1+1)*2
  8            10    (4+1)*2
  7            22    (10+1)*2
  ...
  1             ?
var  x  = 1; // 表示 某一天桃子的数量
for(var i = 9;i>0;i--){  // i 表示第几天
    x = (x + 1)*2
}
console.log(x);

 

posted @ 2021-06-11 17:33  望尐  阅读(42)  评论(0)    收藏  举报
Document