斐波那契数列在线计算器 计算第1024项
斐波那契数列在线计算器 计算第1024项
斐波那契数列在线计算器 计算第1024项
在10月24日的博客《写在1024的日子里》中提到了这个数列的问题。
在网上的大部分的计算器只能计算到第78项 ,其值为8944394323791464。
第79项开始,因为大数据的表示问题,都发生了溢出的错误。
本文提供了大整数计算的加法,减法和乘法的函数。同时利用了《算法时空》中的矩阵计算公式,
优化了斐波那契数列的计算。 测试的结果是可以在大约10秒内,计算到斐波那契数列第2048项。
这个结果有428位十进制的数字组成。
代码如下:
<html>
<head>
<title>
计算斐波那契数列
</title><meta charset="utf-8">
</head>
<body >
<p>
计算斐波那契数列,输入第N项</p>
<textarea id='txt1' rows="4" cols="80"></textarea>
<p>输出结果值</p>
<textarea id='txt2' rows="14" cols="80"></textarea>
<input type=button οnclick="test()" value="计算"></input>
<input type=button οnclick="test2()" value="计算大整数"></input>
<input type=button οnclick="test_add()" value="加法"></input>
<input type=button οnclick="test_subtract()" value="减法"></input>
<script>
function test_add(){
var txt2=document.getElementById("txt2");
txt2.innerText=add([1,2,3],[1,2,7]);
}
function test_subtract(){
var txt2=document.getElementById("txt2");
txt2.innerText=mul_by_array([9,9,9,9],[2]);//subtract([0,0,0,1],[9,9,9]);
}
function subtract_do(a,b){
var bit=0;
var res=0;
var weight=10;
var re=initArray([a.length],function(a){return 0;});
for(var i=0;i<b.length;i++)
{res=a[i]-b[i
- SFuzz: Slice
- 【Delphi学习】Form的borderstyle属性
- [cocos2dx开发技巧4]工具CocosBuilder的使用
- MinGW+MSYS安装
- spring boot checktoken Principal 如何注入
- Azure App object和Service Principal
- HTML超出文本显示省略号...[text
- 这两天迷恋的音乐
- 倾听:不只是听见(倾听有哪些挑战?如何利用倾听技巧更好的理解他人)
- (笔记)yolov5自适应anchors
- FPGA设计中,产生LFSR伪随机数
- VSS使用技巧
- Worse is Better
- 关于CList的小知识
- Python使用try...except...输出详细错误信息(比如报错具体位置在第几行)
- Python爬虫爬取动态网页
- Qt数据库:(五)QSqlQueryModel