官术网_书友最值得收藏!

  • PHP程序員面試算法寶典
  • 猿媛之家組編 琉憶 楚秦等編著
  • 325字
  • 2019-09-16 15:13:13

1.2 哪只猴子可以當大王

難度系數:★★★☆☆

被考查系數:★★★☆☆

題目描述:

一群猴子排成一圈,按1,2,…,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈,從它后面再開始數,再數到第m只,再把它踢出去……,如此不停地進行下去,直到最后只剩下一只猴子為止,那只猴子就可以當大王。要求編程模擬此過程,輸入m、n,輸出最后那個大王的編號。

分析與解答:

首先將猴子從1到n編號存放在數組中,對猴子的總個數進行循環,循環時將數到編號的猴子從數組刪除,將沒有數到編號的猴子從原位置移到數組末尾,移動后需將原位置的編號刪除。只要判斷該編號數組個數大于1都繼續循環,直到數組最后只剩下一個編號,那么這個編號就是當大王的猴子。

設m=5,n=2,實現代碼如下:

程序的運行結果為

主站蜘蛛池模板: 建始县| 清苑县| 阿瓦提县| 卢龙县| 周宁县| 贵定县| 开鲁县| 东明县| 武宣县| 惠水县| 汨罗市| 合江县| 绥宁县| 新昌县| 伊宁市| 吴忠市| 石柱| 南京市| 根河市| 镇安县| 新泰市| 兰西县| 四子王旗| 肃北| 马尔康县| 揭阳市| 双牌县| 赤城县| 新化县| 绍兴县| 来宾市| 鸡泽县| 唐河县| 安图县| 丹阳市| 从江县| 北辰区| 栖霞市| 丹寨县| 祥云县| 西青区|