热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python能做什么数据分析_【图片】python可以做什么———Web开发,数据分析,人工智能和脚本开发【python学习吧】_百度贴吧...

该楼层疑似违规已被系统折叠隐藏此楼查看此楼今天给大家分享一个程序:600人站一排,每次随机杀一个奇数位的人,后面的人补上空位,

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

今天给大家分享一个程序:

600 人站一排,每次随机杀一个奇数位的人,后面的人补上空位,直到最后一个人时,他是几号?

Python 代码:

def fr(a,b = None):

if b is None:

return a

else:

return float(a) / float(b)

# Uncomment the following line to use fractions

# from fractions import Fraction as fr

def cal_p(m, n):

P = [fr(0)] * (m - n + 1)

for M in range(m - n + 1, m + 1):

P2 = [0] * (M+1)

half = (M + 1) // 2

P.append(fr(0))

for i in range(1, M + 1):

if i % 2 == 0:

P2[i] = fr(i // 2, half) * P[i-1] + fr(half - i//2, half) * P[i]

else:

P2[i] = fr(1, half) + fr(i // 2, half) * P[i-1] + fr(half - i//2 - 1, half) * P[i]

P = P2

return P

import matplotlib.pyplot as plt

def plot_q(M,N):

P = cal_p(M,N)

q = [1.0 - p for p in P[1:]]

plt.figure()

plt.plot(q)

plt.show()

if b is None: return a else: return float(a) / float(b)# Uncomment the following line to use fractions# from fractions import Fraction as fr def cal_p(m, n): P = [fr(0)] * (m - n + 1) for M in range(m - n + 1, m + 1): P2 = [0] * (M+1) half = (M + 1) // 2 P.append(fr(0)) for i in range(1, M + 1): if i % 2 == 0: P2[i] = fr(i // 2, half) * P[i-1] + fr(half - i//2, half) * P[i] else: P2[i] = fr(1, half) + fr(i // 2, half) * P[i-1] + fr(half - i//2 - 1, half) * P[i] P = P2 return Pimport matplotlib.pyplot as plt def plot_q(M,N): P = cal_p(M,N) q = [1.0 - p for p in P[1:]] plt.figure() plt.plot(q) plt.show()

如果考虑存活回合数的期望值的话,由于 N 很大的时候存活概率本身就比较小,最后的确应该是 2 的平均存活回合数比较有优势吧。

解释一下当 N 比较大的时候,为什么随着 N 的奇偶性变化,最后一段的概率忽大忽小呢?

因为我们的 M = 600 是个偶数,当杀奇数人的时候,最后一轮排在最后一个位置的人不会被杀,而杀偶数人时,最后这一轮排在最后一个位置的人可能被杀,而就是这一点点差别导致了差异;杀奇数人时,最后一段很容易成为最后一个人,所以存活概率变大了,在杀 599 人的时候,甚至这是唯一的存活可能性;杀偶数人时,反而是成为倒数第二个人比较划算,所以最后一小段反而概率下降了。



推荐阅读
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • 使用多项式拟合分析淘宝双11销售趋势
    根据天猫官方数据,2019年双11成交额达到2684亿元,再次刷新历史记录。本文通过多项式拟合方法,分析并预测未来几年的销售趋势。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 本文详细介绍了如何在 Django 项目中使用 Admin 管理后台,包括创建超级用户、启动项目、管理数据模型和修改用户密码等步骤。 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 本文介绍如何通过 Python 的 `unittest` 和 `functools` 模块封装一个依赖方法,用于管理测试用例之间的依赖关系。该方法能够确保在某个测试用例失败时,依赖于它的其他测试用例将被跳过。 ... [详细]
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • PHP网站日志深度解析与数据洞察分析
    通过对PHP网站日志进行深入解析与数据洞察分析,可以有效提升网站性能和用户体验。由于网站日志数据量庞大,通常需要借助专业的日志分析工具来处理。常用的工具包括光年日志分析工具和WebLog Expert等,这些工具能够帮助技术人员快速识别并解决网站运行中的各种问题,从而优化SEO效果和提升整体运营效率。 ... [详细]
  • 利用Python进行学生学业表现评估与成绩预测分析
    利用Python进行学生学业表现评估与成绩预测分析 ... [详细]
author-avatar
战冰_斗雪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有