
看了李永乐老师的问题,100 个囚犯的,看到有人用 java 实现了,想问下用 python 可以实现吗? 附 java
public static void main(String[] args) { Map<Integer, Integer> people100 = new HashMap<>(); for (int i = 1; i < 101; i++) { people100.put(i, i); }
recursive(people100); } public static void recursive(Map<Integer, Integer> map) { Integer counter = 1; Map<Integer, Integer> resultMap = new HashMap<>(); if (map.size() == 1) { Set<Integer> integers = map.keySet(); Iterator<Integer> iterator = integers.iterator(); for (Integer integer : integers) { System.out.println("最终活着的人的编号是: "+map.get(integer)); return; } } for (Map.Entry<Integer, Integer> entry : map.entrySet()) { if (entry.getKey() % 2 == 0) { resultMap.put(counter++, entry.getValue()); } } recursive(resultMap); } 1 Raisu 2018 年 9 月 17 日 。。。不如把问题贴出来。。。。 |
2 PythonAnswer 2018 年 9 月 17 日 via iPhone 哈哈 我也看他视频 |
3 xpresslink 2018 年 9 月 18 日 >>> def recur(p_list): ◇ ◇ ◇ ◇if len(p_list)==1: ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇print('last is number:', p_list[0]) ◇ ◇ ◇ ◇else: ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇recur(p_list[1::2]) >>> prisOners= list(range(1,101)) >>> recur(prisoners) last is number: 64 >>> |