
数学
grey_csdn
这个作者很懒,什么都没留下…
展开
-
Python实现更相减损术求解最大公约数
先从网上摘录一段算法的描述如下:更相减损法:也叫 更相减损术,是出自《 九章算术》的一种求最大公约数的算法,它原本是为 约分而设计的,但它适用于任何需要求最大公约数的场合。《九章算术》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。”翻译成现代语言如下:第一步:任意给定两个原创 2017-08-19 20:31:59 · 2906 阅读 · 0 评论 -
求取两个数的最大公约数
之前我也实现过最大公约数的求解,采用了一种近乎穷举的方式来实现的。一次坐火车的时候带着高德纳的《计算机编程艺术》第一卷看了下,英语退步的厉害没有看懂太多东西,倒是看到了一个求取最大公约数的算法。看完之后,一下子觉得自己之前的算法是多么差。 下面使用Python简单进行一下算法实现:defCommDevisor(m,n): r = m % n wh原创 2017-07-22 22:07:11 · 1083 阅读 · 0 评论 -
使用Python求解最小公倍数
简单分析了一下,最大公约数的求解方法跟最小公倍数的求解方法类似,只需要改一个简单的条件,然后做一点简单的其他计算。问题的解决也是基于分解质因式的程序。 程序实现以及测试case代码如下:#!/usr/bin/python from collections import Counter def PrimeNum(num): r_value =[]原创 2017-05-08 19:45:34 · 9748 阅读 · 0 评论 -
使用Python求解最大公约数
使用Python求解两个数的最大公约数的时候用到了以前写过的一个小程序,也就是分解质因式。其实,我写分解质因式程序的时候就是因为发现在实现最大公约数求解的过程中用到了这个功能。 比较令我开心的是之前学的一点Python集合处理功能居然在这个时候也派上了用场,小程序的完成让人感觉比较舒心。 代码实现如下:#!/usr/bin/python from colle原创 2017-05-08 19:35:39 · 7591 阅读 · 0 评论 -
使用Python实现质因式分解算法
本来想实现一个其它的基本数学算法问题,但是发现在实现之前必须得先完成分解质因式的算法。 没有去网上寻找什么比较好的求解算法,纯粹是按照自己的理解写了一个试探性求解算法。也就是在MIT公开课中教授提到的guess-try方法。代码实现如下:#!/usr/bin/python def PrimeNum(num): r_value =[] for i原创 2017-05-07 21:39:47 · 15124 阅读 · 0 评论 -
使用Python求取前100组勾股数
本来想采用穷举试探的方式来做这个算法,后来发现还是有点麻烦。从网络上找来了一种求解方法如下: 当a为大于1的奇数2n+1时,b=2n^2+2n,c=2n^2+2n+1。实际上就是把a的平方数拆成两个连续自然数。 编写代码如下:#!/usr/bin/python for n in range(1,101): a = 2 * n +1原创 2017-05-07 18:43:56 · 7837 阅读 · 1 评论 -
三角函数和差公式的推导
关于三角函数、二项式定理等曾经在高中课本上纯粹是公式一堆的知识我一直没有掌握,没能够学到家。由于根本就谈不上理解,以至于遇到类似的问题的时候就有点心理上的害怕,考试的时候遇到只敢碰碰运气。今天找出了简单的和差公式,看了半天脑子里也没有半天呢如何证明的思路。通过网络,发现这个证明其实还是建立在几何意义上的。简单的证明如下:仔细看一下,可以知道,其实几个和差公式最基础、最根本的原创 2017-05-06 17:56:11 · 37435 阅读 · 2 评论 -
使用Python实现拉马努金的三角函数正弦公式
最近其实是在看《数学女孩》的书籍,看着看着觉得中间的故事情节确实是累赘了。切换一下思维,找来了之前看过的拉马努金的故事。看到了其中的公式之后,简单实用程序实现了一下,做一下简单的验证。在我看到的文章中,有这么一个公式:简单使用Python实现如下: 1 #!/usr/bin/python 2 3 pi =3.1415926 4 5 def f原创 2017-05-06 12:05:04 · 4316 阅读 · 0 评论 -
使用Python计算前10000个质数表
质数也叫素数,是指大于1并且除了自己和1以外不能被其它整数整除的自然数。最近阅读《编程人生》,在书中看到了关于质数的描述,看《数学女孩》又看到了相应的描述。于是自己带着兴趣写了一段简单的Python代码求解出了前10000个质数。代码如下: 1 #!/usr/bin/python 2 3 p_num = 0 4 num = 1 5 6 while原创 2017-04-29 00:58:52 · 77790 阅读 · 1 评论 -
数学女孩儿中的数列问题
最近看了几本书,主要是针对编程的,不过看的过程中发现很多内容理解起来十分吃力。看着网络上的评价,买回来了《数学女孩》的一套书。今天开始看,发现有个地方似乎不是很严谨,因为答案从其他角度也能够讲得通。问题是:6,15,35,77后面的数据是什么?我整理了思路,简单在纸上书写了一下如下:横线上下两部分分别是两种思维理解方式,第一种是后面的每个数是前面的数据的两倍加上逐渐原创 2017-04-27 21:07:11 · 1006 阅读 · 0 评论