zoukankan      html  css  js  c++  java
  • 地铁口的零钱箱:

    钱箱使用规则

    1. 在地铁口放置钱箱,内放500枚硬币
    2. 如需要零钱,可以取其中1~5枚硬币,如果不足所需,则取光。 取钱倾向多取
    3. 善良的人可以往其中放置1枚硬币。放钱倾向少放

    不可持续使用的情况1

    1. 假设:放钱的人 与取钱的人 :人数比例 1:1

    不可持续使用的情况2

    1. 假设:放钱的人放钱:1~5 枚

    可持续使用的情况

    1. 假设:放钱的人 与取钱的人 :人数比例 4:1

    附录: python 算法代码

    
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    import random
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib import mlab
    from matplotlib import rcParams
    
    
    # 初始参数设置
    Box_sum =500         # 箱子中剩余硬币数量,初始值
    People_Flag= random.randint(1,10)       # flag 模拟人们取硬币或放硬币的概率 1~10 
    Threshold = 2.5        #  阈值,可调: 1~Threshold 为取硬币,Threshold+1 ~10 为放硬币
    Max_TakeCoin=5       #  最多可取硬币数量
    Max_DonateCoin=1     #  最多可放硬币数量
    
    delata=0                # 取、放硬币数量
    Box_per_remain= [500]   # 每次箱子中硬币余额,list
    
    
    # 算法模拟
    for x in range(1,5000):  # 循环次数表示参与人数
     	flag= random.randint(1,10) # flag 模拟人们取硬币或放硬币的概率 
     	if flag > Threshold:
     		# 放硬币
     		delta=random.randint(1,Max_DonateCoin)
     		delta=random.randint(1,delta)          # 模拟了人们捐款可能性,有偏少的倾向
     		Box_sum =Box_sum + delta
     		Box_per_remain.append(Box_sum)
     	else:
     	    # 取硬币
     	    delta=random.randint(1,Max_TakeCoin)
     	    delta=random.randint(delta,Max_TakeCoin) # 模拟了人 取硬币的可能性,偏多的倾向
     	    if Box_sum < delta:
     	    	Box_sum =0                           # 如果不够取,则取光
     	    else:
     	    	Box_sum =Box_sum - delta
     	    Box_per_remain.append(Box_sum)
    
    print(Box_per_remain)
    
    
    # 绘图区
    fig = plt.figure()
    
    ## 1. 标题、X、Y 轴 label
    plt.title('Subway testing')
    plt.xlabel('Time')
    plt.ylabel('Money remained')
    
    x= np.arange(len(Box_per_remain))
    
    ## 2. data
    
    plt.plot(x,Box_per_remain,color='r')
    plt.bar(x,Box_per_remain,alpha=.5,color='g')
    
    plt.show()
    
    
  • 相关阅读:
    css页面自适应 媒体查询
    微信小程序rich-text中的nodes属性
    解析base64数据流---加载pdf
    用伪元素完成箭头
    搭建vue --2.x
    搭建Vue项目 vue-cli vue1.x
    Chrome----TCP
    单进程VS多进程
    线程VS进程
    Chrome---network模块---Timing
  • 原文地址:https://www.cnblogs.com/juking/p/7273043.html
Copyright © 2011-2022 走看看