欢迎关注,敬请点赞!
前文链接:《波斯公主选驸马》
前文简单介绍了《波斯公主选驸马》的思路和公式推导,此文用python代码求最优解及可视化演示。
思路
- 创建1个列表,1~100作为元素;
- 顺序打乱;
- 取出前n个,找里面的最大值temp,后面只要有比temp更大的,就选它为max1;如果没有,就选最后1个为max1;(n取值0~99,n = 0时表示直接选第1个;n = 99时,表示选最后1个)
- 运行10000次,如果算对了,计数器+1。
代码
# 1. 创建1个列表,1~100作为元素;
# 2. 顺序打乱;
# 3. 取出前n个,找里面的最大值temp,后面只要有比temp更大的,就选它为max1;如果没有,就选最后1个为max1;(n取值0~99,n = 0时表示直接选第1个;n = 99时,表示选最后1个)
# 4. 运行10000次,如果算对了,计数器+1
from random import sample
import matplotlib.pyplot as plt
list_1 = list(i for i in range(1, 101))
list_cal = []