珠穆朗玛峰问题和猴子吃桃相关问题
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);

浙公网安备 33010602011771号