二分法猜值小程序

<? php

fwrite(STDOUT,"请输入0~999之间的任意数值: \n");
$num = trim(fgets(STDIN));
if($num > 999 || $num < 0 || !is_numeric($num)){
        echo '请输入范围内数值哦!'."\n";
        exit;
}
guess($num);
function guess($num){
        $max = 999;
        $min = 0;
        $n = 0;
        if($num == $max || $num == $min){
                echo '我猜是: '.$num."\n";
                echo '恭喜你,一次就猜对了!'."\n";
                exit;
        }   
        while($max > $min){
                $middle = floor(($max+$min)/2);
                echo '我猜是: '.$middle."\n";
                if($middle - $num == 0){ 
                        echo '恭喜你,猜对了,您共猜了'.$n."次\n";
                        exit;
                }else if($middle - $num > 0){ 
                        echo "猜高了,继续努力!\n";    
                        $max = $middle;
                }else if($middle - $num < 0){ 
                        echo "猜低了,继续努力!\n";
                        $min = $middle;
                }    
    
                $n++;
        }   


}
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值