算法学习
ZheX
这个作者很懒,什么都没留下…
展开
-
找出1-1000中能被3或者5整除的自然数的和
看到这道题后第一个想法是用循环[code="python"]sum = 0for i in range(3, 1000): if i % 3 == 0 or i % 5 == 0: sum += iprint sum[/code]这无疑是一种非常偷懒的方法, 方便了我们的大脑,但执行效率明显不行。再想下, 我们可以这么做:在1-100...原创 2009-10-12 18:24:57 · 2021 阅读 · 0 评论 -
找出1-4000000斐波纳契数列中的奇数和
首先我们知道斐波纳契数列是:1,2,3,5,8,13 ..........这个数列中的一个数等于前面两个数的和, 我们可以用一个公式表示:F(n) = F(n-1) + F(n-2)有了这个概念我们可以很方便的写出代码:[code="python"]limit = 4000000a = 0b = 1sum = a + bwhile a + b ...原创 2009-10-13 09:41:39 · 193 阅读 · 0 评论 -
找出特定数字的最大质因数
首先我们来看个例子:13195的质因数为 5, 7, 13, 29, 其中29就是最大的质因数。现在让我们来计算600851475143的最大质因素。当看到这个问题的时候,我们首先要判断哪些是质数,而这些质数中又有哪些是可以被600851475143整除的。因此需我们要有个数:index 不断增长,并且找出index中的质数,然后计算index是否可以被num整除,如果可以的话,重...原创 2009-10-14 22:21:18 · 501 阅读 · 0 评论 -
求能分解为两个三位数乘积的最大回文数
注:所谓回文数就是正序和倒序相等的数字,好比9009的倒序还是9009在题目中,我们已经知道了这个回文数是2个三位数的乘积, 那我们可以很轻松的写出代码。[code="python"]#定义数字倒转函数def reverse(num): strnum = str(num)[::-1] return int(strnum)max = Nonefor...原创 2009-10-17 10:49:26 · 375 阅读 · 0 评论