14:小球从10米高处自由下落,每次弹起的高度是下落高度的70%,
当小球弹起的高度不足原高度的千分之一时,小球很快会停止跳动,
计算小球在整个弹跳过程中所经历的总路程(忽略弹起高度不足原高度千分之一的部分)。
- <?php
- /*
- 14:小球从10米高处自由下落,每次弹起的高度是下落高度的70%,
- 当小球弹起的高度不足原高度的千分之一时,小球很快会停止跳动,
- 计算小球在整个弹跳过程中所经历的总路程(忽略弹起高度不足原高度千分之一的部分)。
- *系统环境:windows/linux
- *编译环境:php4/php5
- *输入参数:无
- 输出:out.txt
- */
- //输出结果
- $s=0;
- $high=10;
- //忽略弹起高度不足原高度千分之一的部分
- $high0=$high/1000;
- while(1)
- {
- //下落的距离
- $s+=$high;
- $high*=0.7;
- if($high < $high0)
- {
- //忽略弹起高度不足原高度千分之一的部分
- break;
- }
- //上升的距离
- $s+=$high;
- }
- output("total:$s",true);
- error_msg("execute success");
- /*
- 把结果输出到输出文件里
- 当isClean=true时清空out.txt
- */
- function output($msg,$isClean=false)
- {
- if($isClean)
- {
- $handle = fopen('out.txt', 'w');
- fclose($handle);
- }
- error_log($msg."\n", 3, "out.txt");
- }
- /*
- 输入错误信息
- 如果$is_exit表示输入信息后退出
- */
- function error_msg($msg,$is_exit=true)
- {
- if($is_exit)
- die($msg."\n");
- else
- echo $msg."\n";
- }
- ?>