>  기사  >  백엔드 개발  >  问一个逻辑运算算法的思路解决方法

问一个逻辑运算算法的思路解决方法

WBOY
WBOY원래의
2016-06-13 12:04:48802검색

问一个逻辑运算算法的思路


大概意思就是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 />

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.