Heim  >  Artikel  >  Backend-Entwicklung  >  问一个逻辑运算算法的思路解决方法

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

WBOY
WBOYOriginal
2016-06-13 12:04:48797Durchsuche

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


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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn