欧拉工程第25题 第一个包含1000位数字的斐波那契数列项是第几项
2016-10-25 09:38
351 查看
题目
以下是斐波那契数列的递归定义:Fn=Fn−1+Fn−2,F1=1,F2=1.
那么前12项为:
F1=1
F2=1
F3=2
F4=3
F5=5
F6=8
F7=13
F8=21
F9=34
F10=55
F11=89
F12=144
因此第12项,F12,是第一个包含三位数字的项。
斐波那契数列中第一个包含1000位数字的项是第几项?
解题方法
采用java BigInteger类解题,或者自定义一个利用数组分段存储的大数类。后者的实现可以点击这里。程序
public static void solve() { BigInteger a = BigInteger.ONE; BigInteger b = BigInteger.ONE; BigInteger c = null; int i = 2; do { c = a.add(b); a = b; b = c; i++; } while (c.toString().length() < 1000); System.out.println(i); }
相关文章推荐
- 欧拉计划:25题斐波那契数列中第一个包含1000位数字的项是第几项?
- 欧拉工程第8题 找出这个1000位数字中连续13个数字乘积的最大值
- 欧拉工程第13题 找出100个50位数之和的前十位数字
- 一个只由字母数字字符和破折号组成的字符串S. 该字符串被N个破折号分成N + 1个组。 给定数字K,使得每个组包含完全K个字符,除了第一个组可能少于K
- 欧拉工程第14题 找出以100万以下的数字开始的最长序列
- 键盘输入一句话,输出这句话中最长的单词,如果最长的出现多次,返回第一个,这句话只包含数字字母和标点
- Java 欧拉工程 第二十六篇【 小于1000的数字中令1/d拥有最长循环圈的数字d】
- 欧拉计划之题目8:找出这个1000位数字中连续5个数字乘积的最大值
- Java 欧拉工程 第三十篇【 找出所有能够写成各位数字5次方之和的数之和】
- 欧拉工程第17题 用英文写出1到1000的所有数字需要多少个字母
- Java进阶之欧拉工程 第十七篇【用英文写出1到1000的所有数字需要多少个字母?】
- 欧拉工程第26题 找出小于1000的数字中令1/d拥有最长循环圈的数字d
- 欧拉工程第30题 找出所有能够写成各位数字5次方之和的数之和
- Java 欧拉工程 第二十五篇【1000位斐波那契数】
- 欧拉工程第27题 找出为连续数字产生最多质数的二次公式
- 欧拉工程第25题:1000-digit Fibonacci number
- 欧拉工程第12题 第一个拥有超过500个约数的三角形数是多少
- 欧拉工程第一题 找出1000以下的自然数中,属于3和5的倍数的数字之和。
- Java 欧拉工程 第二十七篇【找出为连续数字产生最多质数的二次公式】
- Hibernate读书笔记-----部署第一个hibernate工程