14
数组转义-离开那里
有一天,您醒来只是发现自己陷入了阵列。您尝试走出那里,同时获取一个索引,但是似乎还有其他规则: 该数组完全用自然数填充。 如果发现自己在索引上n,请转到该索引array[n],除了: 如果您发现自己n是素数索引,则可以array[n]退后一步 示例:您4从此数组中的index开始(起始索引为0): array = [1,4,5,6,8,10,14,15,2,2,4,5,7]; -----------------^ you are here 由于您所在的字段的值为,因此第一步8将进入索引8。您登陆的字段包含值2。然后,您进入索引2作为第二步。作为2质数,您需要向后退5步,这是您的第三步。由于没有索引-3,您总共分了3个步骤成功地对数组进行了转义。 您的任务是: 编写一个程序或函数,该程序或函数接受一个数组和一个起始索引作为参数,并输出逃逸该数组的步骤数。如果无法转义数组(例如,[2,0,2]使用start-index 2=>,则不断从index 2转到0),则输出错误的值。您可以使用基于1的索引或基于0的索引,但是请指定要使用的索引。 测试用例 输入: [2,5,6,8,1,2,3], 3 输出: 1 输入: [2, 0, 2], 2 输出: false 输入:[14,1,2,5,1,3,51,5,12,3,4,41,15,4,12,243,51,2,14,51,12,11], 5; 输出: 6 最短的答案将获胜。