Java进阶之欧拉工程 第二篇【持续更新】
2014-08-14 14:28
183 查看
这篇就来讲欧拉工程第二题 斐波那契数列求百万和问题,下面引入原题
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...By considering the terms in the Fibonacci sequence whose values do not
exceed four million, find the sum of the even-valued terms.
翻译 :斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。
解题思路:
刚看到这道题的时候不妨多写几个数字找找规律,
1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 , 233 , 奇 ,偶,奇,奇 , 偶, 奇
, 奇 , 偶 , 奇 , 奇 , 偶 , 这样看其实规律也就出来了除去1,2其余数字每三个中就有一个偶数,并且偶数等于其余两个数之和,为了计算方便,不妨补全数列 1 , 1 , 2 , 3 , 5 , 8.........由此只要计算这些“112,358,....奇奇偶” 数列的总和的一半就可以得到题目要求的答案了,以下为java的算法
,值得一提的是由于最初补充了一个1,本来计算结果需要去掉这个1,但是由于这里的结果恰好为整数,这个1除的时候被int的整数机制自动去余了,下面是代码:
Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...By considering the terms in the Fibonacci sequence whose values do not
exceed four million, find the sum of the even-valued terms.
翻译 :斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。
解题思路:
刚看到这道题的时候不妨多写几个数字找找规律,
1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 , 233 , 奇 ,偶,奇,奇 , 偶, 奇
, 奇 , 偶 , 奇 , 奇 , 偶 , 这样看其实规律也就出来了除去1,2其余数字每三个中就有一个偶数,并且偶数等于其余两个数之和,为了计算方便,不妨补全数列 1 , 1 , 2 , 3 , 5 , 8.........由此只要计算这些“112,358,....奇奇偶” 数列的总和的一半就可以得到题目要求的答案了,以下为java的算法
,值得一提的是由于最初补充了一个1,本来计算结果需要去掉这个1,但是由于这里的结果恰好为整数,这个1除的时候被int的整数机制自动去余了,下面是代码:
int a =1 ,b =1, c= 2; int sum =0; while(c<4000000){ sum=sum+a+b+c; a=b+c; b=a+c; c=a+b; } int answer=(sum)/2; system.out.println(answer);
相关文章推荐
- Java进阶之欧拉工程 第五篇【持续更新】
- Java进阶之欧拉工程 第八篇【持续更新】
- Java进阶之欧拉工程 第六篇【持续更新】
- Java进阶之欧拉工程 第四篇【持续更新】
- Java进阶之欧拉工程 第三篇【持续更新】
- Java进阶之欧拉工程 第九篇【持续更新】
- Java进阶之欧拉工程 第十篇【持续更新】
- Java进阶之欧拉工程 第十一篇【持续更新】
- Java进阶之欧拉工程 第七篇【持续更新】
- Java进阶之欧拉工程 第一篇【持续更新】
- Java进阶之欧拉工程 第十四篇【 最长的collatz序列】
- Java进阶之欧拉工程 第十八篇【 找出从三角形顶端走到底端的最大和】
- Java进阶之欧拉工程 第十七篇【用英文写出1到1000的所有数字需要多少个字母?】
- Java进阶之欧拉工程 第十六篇【2的1000次方各位之和为多少】
- Java进阶之欧拉工程 第十二篇【有大量约数的三角数】
- Java进阶之欧拉工程 第十三篇【大数求和】
- Java进阶之欧拉工程 第十五篇【网格路径问题】
- 关于java项目工程一下乱七八糟问题记录(持续更新)
- java学习中的英语(持续更新)
- 小米手机(MIUI)介绍以及工程机评测 【持续更新】