问一个逻辑运算算法的思路
大概意思就是a是b的父级,b是c的父级,以此类推,无限顺延分级;
其中每一个成员都有一个对应的value值,这个value值为是1-30的随机数;
目前需要计算出,当我随意选择一个成员时,可以计算出这个成员以及向上所有的父级成员累计的value值总和是在哪一个成员身上value总值突破200的。
------解决方案--------------------
递归吧
<br />//类里面的递归函数<br />function test($id,$num=0,$max=200){<br /> $sql="SELECT * FROM {{test}} WHERE id=$id";<br /> $res=Yii::app()->db->createCommand($sql)->queryRow();<br /> $num+=$res['value'];<br /> if($num<$max){<br /> $name=self::test($res['pid'],$num);<br /> }else{<br /> $name=$res['name'];<br /> }<br /> return $name;<br /> }<br /><br />//调用<br />$tr=new classtest();<br />echo $tr->test(7);<br />//结果 d<br /><br />
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号