首先我们知道斐波纳契数列是:
1,2,3,5,8,13 ..........
这个数列中的一个数等于前面两个数的和, 我们可以用一个公式表示:
F(n) = F(n-1) + F(n-2)
有了这个概念我们可以很方便的写出代码:
limit = 4000000
a = 0
b = 1
sum = a + b
while a + b <= limit:
c = a + b
a, b = b, c
if c % 2 != 0:
sum += c
print sum
现在我们看看是不是还能提高代码的效率
通过观察我们得到的数列,不难发现,所有的奇数和其实就是偶数的和,如果我们把其中所有的偶数提取出来,我们得到的数列是:
2,8,34,144...
发现规律了没有? 这个数列我们用公式 F(n) = F(n-1) *4 + F(n-2) 表示
现在修改我们的代码:
limit = 4000000
a = 0
b = 2
sum = a + b
while a + b <= limit:
c = a + b * 4
a, b = b, c
sum += c
print sum
由于减少了循环次数, 这样效率应该有了提升
分享到:
相关推荐
这个中级算法问题的核心是找出斐波那契数列中所有奇数的和,我们将深入探讨斐波那契数列、奇数判断以及如何用JavaScript实现这一算法。 斐波那契数列(Fibonacci sequence)定义为:第一项F0为0,第二项F1为1,后续...
windows扫雷 源码下载开发环境:scratch 3.20.1 幸运大转盘 源码下载开发环境:scratch 3.20.1 飞机大战 源码下载开发环境:scratch ...找出1-100之间的奇数 源码下载开发环境:scratch 3.20.1 斐波那契数列 源码下载
总的来说,"兰州大学马俊java实验1"可能涉及到的编程知识点包括理解并实现Fibonacci数列的递归或循环逻辑,以及在Java中正确使用`Math`类中的`sin()`函数进行角度到弧度的转换和计算正弦值。这些基本技能对于初学者...
例如,题目中给出了 an=2n2-n,要求找出 30,44,66,90 是否在数列中。这需要解二次方程,找到合适的 n 值,只有当 n 为正整数时,才说明这个数是数列的项。在本例中,66 是数列{an}的一项。 第四题涉及到了分段...
1. 首先观察数列的起始几项,尝试找出它们之间的关系。 2. 如果直接观察无法找到规律,可以试着计算连续项的差或比。 3. 对于较复杂的情况,可以考虑将数列分组,看看组内或组间是否存在规律。 4. 利用已知规律,...
例如,斐波那契数列(每一项是前两项的和)的前两项为0和1,后面的项可以由前两项计算得出,其通项公式可以是an = a(n-1) + a(n-2)。 数列的简单表示法还包括递推关系,它描述了数列中每一项如何由前一项或前几项...
- 斐波那契数列以意大利数学家斐波那契命名,序列中的每个数等于前两个数的和,如1,1,2,3,5,8,13...。 - 这种数列在自然界和数学问题中有广泛的应用,例如黄金分割比例。 5. **数列问题的解题技巧**: - ...
13. 正项数列`{an}`满足`na(n+1) - (n-1)an = 0`,可以发现`nan`是常数,从而找出`an`的通项公式。 以上是关于数列的详细解释,涵盖了等差数列、递推关系、斐波那契数列、数列的递减性、数列的通项公式以及数列问题...
- 通过观察数列中相邻两个数之间的差异或比例,可以找出数列的增长或递减模式。例如,题目中提到的1,4,7,10等数列,相邻两数之间相差3,所以规律是每次增加3。 2. **考虑相隔数之间的联系**: - 有些数列不是...
数列是数学中的一个重要概念,它是一系列按照特定顺序排列的数字...在实际问题中,往往需要根据题目所给信息,通过观察、分析和归纳,找出数列的规律,从而确定通项公式,进一步求解特定项或者进行其他相关的数学运算。
- 【B3】中,(1)是斐波那契数列的变种,后一个数是前两个数的和;(2)是一个交替数列,奇数位置的数呈现上升趋势,偶数位置的数保持不变。 2. **试一试**: - 【B1】的试一试部分,要求继续找出数列的规律并...
每个练习题都是对上述概念的进一步应用,要求学生根据给出的数列找出规律并填空。 这些知识点涵盖了基础的数学思维、逻辑推理和序列分析,是四年级奥数学习的重要组成部分,对于提升学生的数学能力有极大的帮助。
- 找出能被7或11整除但不能同时被两者整除的整数,使用循环和条件判断,可能涉及到数组存储和计数。 - 求Fibonacci数列中大于t的最小值,需实现递归或迭代的Fibonacci序列生成,并使用比较运算找到符合条件的数。 ...
这篇资料主要讲解的是小学三年级奥数中的找规律填数问题,涵盖了等差数列的基本性质以及如何通过观察和分析数列来找出隐藏的规律。以下是根据提供的内容详细讲解的知识点: 1. **等差数列的性质**: - **末项公式*...
3. 从整体角度把握数列特征,找出隐藏的规律。 4. 多角度理解数与数之间的联系,鼓励创造性思考。 二、典型例题解析 1. 示例题1: - 数列1:1, 4, 7, 10, ( _ ), 16, 19,可以看出相邻两数的差为3,所以空缺处填13...
编程题要求编写一个程序,找出斐波那契数列指定项数范围内的质数数据项。斐波那契数列的定义是:第一项和第二项都是1,之后的每一项都是前两项之和。题目要求实现以下功能: 1. 用户在文本框`Text1`输入起始项数,...
例如,找出数列1中的跳跃式增长模式,或数列2中的等差序列。 7. 递归和模式扩展:在提高练习1中的(1)和(2)题,孩子们需要理解数列的增长方式,可能是基于前几个数字的加法或乘法关系,然后应用这个规则来填写空缺。...
1. **算式中的规律**:观察算式的结构和结果,找出因数和积的特性。例如,连续的1相乘,其积呈现出从1开始递增到某个数字,再递减回1的模式。这种规律可以帮助解决类似的算式,如11111×11111的结果是123454321。 2...
通过解答这些题目,学生可以加深对等差数列、等比数列、斐波那契数列、平方数和立方数序列、奇偶数交替序列以及几何图形变化模式的认识。这些知识点在初中和高中的数学学习中是非常基础且重要的。
第七题中,计算1到99的奇数和,`S=s+(2*i-1)`确保每次累加的是奇数。 12. **条件判断**:第九题中,循环直到S的累积和大于等于300,然后回退一位,输出N=29。 这些知识点涵盖了算法选择、程序设计的基本结构(循环...