问题描述:
问题:
求最后剩下的元素值(猴子标号)
若数组下标表排序,其内存储值表标号;
那么可知:
最后剩下的猴子排序为0,开始时猴子的标号对应排序+1
也就是说,我们只要知道最后元素在首数组的位置,下标+1便可得到标号值;
我们已知尾数组头元素即最后元素,且知位置下标为0,那么我们可以通过每层m与n的关系层层向上递推,找到其在首元素的位置。
思路如图:
代码如下:
数组思路:
数学思路(不考虑中间过程,只求最终存活元素在首数组位置+1得值):
核心:
理解n%m的含义(表示哪个元素的位置)和所求Joseph元素在每层函数中的位置公式