一个小小的逻辑题
一个球从100米落下,每次反弹都是上一次落下的一半距离,比如第一次落地,反弹50米。请问他会弹多少次呢!
这个问题php 来解答一下。如果有错误请指正,或有更好的写法请留言。谢谢!
/* 首先我们假设知道弹的次数。
* 100/2分之一 = 50
* 50/2分之一 = 25
* 25/2分之一 = 12.5
* 12.5/2分之一= 6.25
* 6.25/2分之一= 3.125
* 3.125/2分之一= 1.5625
* 1.5625/2分之一= 0.78125
*
*/
$tmp = 50;//设置初始值
$count = 0; //
function test($tmp,$count){
// echo ;
if($tmp<=0.000001) {
return false;
} else {
$b = 0;
$key = 0;
for ($i=$count;$i>=0;$i--) {
$b = $tmp/(2/1);
$key = $count+1;
$_SESSION["name"][$key] = $key;
}
test($b,$key);
// echo $b ; echo "<br/>";
return count($_SESSION["name"])+1;
}
}