约瑟夫斯幸存者
在此kata中,您必须正确返回谁是“幸存者”,即: 的最后一个元素。
基本上,您必须假设将n个人围成一个圈,并按照k个元素的步骤将其消除,如下所示:
josephus_survivor(7,3) => means 7 people in a circle;
one every 3 is eliminated until one remains
[1,2,3,4,5,6,7] - initial sequence
[1,2,4,5,6,7] => 3 is coun
约瑟夫斯问题
的解决方案。
我的版本从命令行接受并验证N和K:
$ ./solution.py -h
usage: solution.py [-h] [-n int] [-k int]
Josephus Problem
optional arguments:
-h, --help show this help message and exit
-n int N (default: 10)
-k int K (default: 3)
N和K都必须大于0:
$