Python计算电场中两点间的电势差

参考代码:

前天有奖答题内容:

1000道Python题库系列分享14(1道代码阅读题)

参考答案:

该问题功能为求解在n个物品中任选i个物品有多少种选法,也就是组合数C(n,i)。

根据组合数定义,需要计算3个数的阶乘,在很多编程语言中都很难直接使用整型变量表示大数的阶乘结果,虽然Python并不存在这个问题,但是计算大数的阶乘仍需要相当多的时间。文中代码提供了另一种计算方法,也就是通过展开组合数定义然后进行约分来减少计算量:以Cni(8,3)为例,按定义式展开如下,对于(5,8]区间的数,分子上出现一次而分母上没出现;(3,5]区间的数在分子、分母上各出现一次;[1,3]区间的数分子上出现一次而分母上出现两次。如下图所示:

除了缺少参数正确性的外围检查代码,该问题最大的问题有两处:1)实数计算会引入误差;2)循环结构中的n-j和minNI-j都是从大到小变化,会出现除不尽的情况,从而引入误差。这两种误差的积累越来越大,最终会导致错误结果。

参考代码:

获奖名单:估计是这次题目难度偏大了,严格来说,所有留言中没有完整答案,但是一本也不送的话又不太好意思,只好选一个最接近的了。下面这位朋友请于明天中午12点之前通过公众号后台把详细邮寄地址和电话发送给我,以便邮寄赠书。

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2018-08-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

入门 | 玩转词向量:用fastText预训练向量做个智能小程序

6329
来自专栏林欣哲

自然语言处理--文本处理

自然语言处理的目的是让机器试图理解和处理人类的文字。通常来说,人的语言是冗余的,含有歧义的,而机器是准确的,无歧义的,要让机器理解,这之间存在一个转换的问题。 ...

3768
来自专栏PPV课数据科学社区

【学习】如何用SPSS和Clementine处理缺失值、离群值、极值?

一、什么是预处理、预分析? 高质量数据是数据分析的前提和分析结论可靠性的保障。尽管在获取数据源时数据分析师格外谨慎,耗费大量的时间,但数据质量仍然需持续关注。不...

9405
来自专栏生信小驿站

生存分析①R语言

生存分析(Survival analysis)是指根据试验或调查得到的数据对生物或人的生存时间进行分析和推断,研究生存时间和结局与众多影响因素间关系及其程度大小...

1984
来自专栏机器之心

业界 | 微软提出基于程序图简化程序分析,直接从源代码中学习

1733
来自专栏人工智能头条

关于NLP你还不会却必须要学会的事儿—NLP实践教程指南第一编

1961
来自专栏数据科学与人工智能

【机器学习】Python语言下的机器学习库

Python是最好的编程语言之一,在科学计算中用途广泛:计算机视觉、人工智能、数学、天文等。它同样适用于机器学习也是意料之中的事。 当然,它也有些缺点;其中一个...

25810
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

13行代码实现最快速最高效的积分图像算法。

  研究图像到一定程度的人,应该都对积分图像有所了解,大家在百度或者google中都可以搜索到大量的相关博客,我这里不做多介绍。用积分图也确实能解决很多实际的问...

4258
来自专栏专知

【AlphaGo Zero 核心技术-深度强化学习教程代码实战06】给Agent添加记忆功能

【导读】Google DeepMind在Nature上发表最新论文,介绍了迄今最强最新的版本AlphaGo Zero,不使用人类先验知识,使用纯强化学习,将价值...

5146
来自专栏生信技能树

如何通过Google来使用ggplot2可视化

今天是大年初二,这篇文章我只想传达一点: 没有什么菜鸟级别的生物信息学数据处理是不能通过Google得到解决方案的,如果有,请换个关键词继续Google! 第一...

3238

扫码关注云+社区

领取腾讯云代金券