1、有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来,把所有菜果提成5份,但是多了一种,顺手把这个扔给树上猴了,自己先拿1/5藏了。没想到其她四人也都是这样想,都如第一种人同样提成5份把多那一种扔给了猴,偷走了1/5。第二天,人们分赃,也是提成5份多一种扔给猴了。最后一人分了一份。问:共有多少苹果?for($i=1;$i+)if($i%5=1)/第一种人取五分之一,还剩$t$t=$i-round($i/5)-1;if($t%5=1)/第二个人取五分之一,还剩$r$r=$t-round($t/5)-1;if($r%5=1)/第三个人取五分之一,还剩$s$s=$r-round($r/5)-1
2、;if($s%5=1)/第四个人取五分之一,还剩$x$x=$s-round($s/5)-1;if($x%5=1)/第五个人取五分之一,还剩$y$y=$x-round($x/5)-1;if($y%5=1)echo$i;break;一群猴子排成一圈,按1,2,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它背面再开始数,再数到第m只,在把它踢出去,如此不断进行下去,直到最后只剩余一只猴子为止,那只猴子就叫做大王。规定编程模仿此过程,输入m、n,输出最后那个大王编号。functionking($n,$m)$monkeys=range(1,$n);$i=0;$k=$n;while(coun
3、t($monkeys)1)if($i+1)%$m=0)unset($monkeys$i);elsearray_push($monkeys,$monkeys$i);unset($monkeys$i);$i+;returncurrent($monkeys);$a=king(5,2);var_dump($a);汉诺塔(又称河内塔)问题是印度一种古老传说。开天辟地神勃拉玛在一种庙里留下了三根金刚石棒,第一根上面套着64个圆金片,最大一种在底下,别的一种比一种小,依次叠上去,庙里众僧不倦地把它们一种个地从这根棒搬到另一根棒上,规定可运用中间一根棒作为协助,但每次只能搬一种,并且大不能放在小上面。解答成果
4、请自己运营计算,程序见尾部。面对庞大数字(移动圆片次数),看来,众僧们耗尽毕生精力也不也许完毕金片移动。日后,这个传说就演变为汉诺塔游戏:1.有三根杆子A,B,C。A杆上有若干碟子2.每次移动一块碟子,小只能叠在大上面3.把所有碟子从A杆所有移到C杆上通过研究发现,汉诺塔破解很简朴,就是按照移动规则向一种方向移动金片:如3阶汉诺塔移动:AC,AB,CB,AC,BA,BC,AC此外,汉诺塔问题也是程序设计中典型递归问题。functionhanoi($n,$x,$y,$z)if($n=1)echomovedisk1from.$x.to.$z.n;elsehanoi($n-1,$x,$z,$y);e
5、chomovedisk.$n.from.$x.to.$z.n;hanoi($n-1,$y,$x,$z);hanoi(3,A,B,C);使用PHP描述冒泡排序和迅速排序算法,对象可以是一种数组/对数组冒泡排序functionbubble_sort($array)$count=count($array);if($count=0)returnfalse;for($i=0;$i$i;$j)if($array$j$array$j-1)$tmp=$array$j;$array$j=$array$j-1;$array$j-1=$tmp;return$array;/迅速排序functionquick_sort
6、($array)if(count($array)=1)return$array;$key=$array0;$left_arr=array();$right_arr=array();for($i=1;$icount($array);$i+)if($array$i=$key)$left_arr=$array$i;else$right_arr=$array$i;$left_arr=quick_sort($left_arr);$right_arr=quick_sort($right_arr);returnarray_merge($left_arr,array($key),$right_arr);使用P
7、HP描述顺序查找和二分查找算法,顺序查找必要考虑效率,对象可以是一种有序数组/使用二分查找数组中某个元素functionbin_sch($array,$low,$high,$k)if($low=$high)$mid=intval($low+$high)/2);if($array$mid=$k)return$mid;elseif($k$val)$keysvalue$key=$val$keys;if($order=0)asort($keysvalue);elsearsort($keysvalue);reset($keysvalue);foreach($keysvalueas$key=$vals)$keysort$key=$key;$new_array=array();foreach($keysortas$key=$val)$new_array$key=$arr$val;return$new_array;