参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonacci(i);
System.out.print(f+" ");
}
}
static int fibonacci(int n){
if(n==0)return 0;
if(n==1)return 1;
if(n>1){
int[] re=power(n-1);
return re[0];//矩阵乘积的第00项为所求
}
return -1;
}
//a^n=a^(n/2)*a^(n/2) or a^n=a^(n/2)*a^(n/2)*a
static int[] power(int n){
int[] a=new int[4];
if(n==1){
a=A;
}
else if(n%2==0){
a=matixMultiply(power(n/2),power(n/2));
}else if(n%2==1){
int[] temp=matixMultiply(power(n/2),power(n/2));
a=matixMultiply(A,temp);
}
return a;
}
//矩阵乘法
// return A*B
static int[] matixMultiply(int[] a,int [] b){
int[] re=new int[4];
re[0]=a[0]*b[0]+a[1]*b[2];
re[1]=a[0]*b[1]+a[1]*b[3];
re[2]=a[2]*b[0]+a[3]*b[2];
re[3]=a[2]*b[1]+a[3]*b[3];
return re;
}
}
分享到:
相关推荐
递归方法 def fibonacci(n): if n <= 1: return n else: return fibonacci(n-1) + fibonacci(n-2) n = int(input("请输入要计算的斐波那契数列的项数:")) print("斐波那契数列的第", n, "项为:", fibonacci(n)) 2...
【问题描述】编写函数f,功能是用递归的方法求斐波那契数列的第n项,函数原型为 int f(int n),在主函数中输入一个正整数n,调用函数f求出斐波那契数列的第n项,并在主函数中输出。 斐波那契数列:1,1,2,3,5,8,13,...
C语言程序设计-用函数求fibonacci数列前n项的和;说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和;例如:当n=28时,运行结果:832039.c
汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出斐波那契数列前N项汇编语言-输出...
Java 求出数列前20项的和,有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。可以得出规律为:后一个数的分母为前一个数分子和分母之和,因此可以得出计算方法如下: for(int i = 1;i;...
6-4 斐波那契数列.py
编写一个Java程序,用于输出Fibonacci数列的前20项。
用java语言写的求求fibonacci数列第1000项的值,用的递归算法.是初学java练习递归的好素材.
求Fibonacci数列前n项 汇编语言程序设计 课程设计,有源代码,有任务书,有报告,超全~~~
Q1069907.zip 汇编递归求斐波那契数列前N项 https://ask.csdn.net/questions/1069907 以及 TASM TurboC等工具
Java实现斐波那契数列的前n项和.。。。。。。。。
509. 斐波那契数题目斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。也就是:输入:2输出:1输入:3输出:2输入:4输出:3方法从下往上
关于.Fibonacci数列(1,1,2,3,5,8...)的一个小的编程,希望对大家有用
java代码实现斐波那契数列 类似1 1 2 3 5 8 输出第n个数 java开发工程师 笔试一般经常考到
使用python实现的的计算线性齐次递推数列第N项的算法
一 生小兔问题引起的二 它们也产生斐波那契数列三 通项的其他表达式四 斐波那契数列是二阶循环数列五 斐波那契数列的数论性质六 斐波那契数列的其他性质七 某些斐波那契数列之和八 斐波那契数列与连分数九 斐波那契...
Java 实例 - 斐波那契数列源代码-详细教程.zip
算法-数论- 斐波那契数列(Fibonacci).rar
Fibonacci数列,用c++编写的,非递归的函数调用求Fibonacci数列的第n项