我想这个解决方案很简单,但我已经考虑了一段时间,无法想出一个优雅的解决方案。
我有一系列数字,例如1..10 = (1,2,3,4,5,6,7,8,9,10),它是循环的,这意味着最后一个数字之后的数字又是第一个数字(next(10)=1)。
对于范围内的给定数字i>0,我想计算下一个m和前m一个数字。例如next(5,1)=6 next(10,1)=1 next(10,2)=2 prev(5,2)=3 prev(1,1)=10 prev(1,2)=9。
因为next我可以只取范围的长度在(i+m)%n哪里(在示例中)。但是因为我找不到一个优雅的解决方案。nn=10prev