import java.util.HashMap;
import java.util.Map;
public class TestFac {
public static Map<Long, Long> map = new HashMap<Long, Long>();
public static long Fac(long num) {
long value = 0;
if(map.containsKey(num)){
return (Long) map.get(num);
}else{
if (num == 1 || num == 2) {
value= 1;
} else {
value= Fac(num - 1) + Fac(num - 2);
}
map.put(num, value);
}
return value;
}
public static long Fac2(long num) {
long one = 1;
long two = 1;
long point = 0;
if (num == 1 || num == 2) {
return 1;
}
for (long i = 3; i <= num; i++) {
point = one + two;
one = two;
two = point;
}
return point;
}
public static void main(String[] args) {
System.out.println(Fac(45));
}
}
分享到:
相关推荐
利用数组计算斐波那契数列
android Handler子线程计算斐波那契数列
计算斐波那契数列,C#
本教程将向您展示如何使用Java编写代码来计算斐波那契数列的第 n 个数字。我们将涵盖循环和递归两种不同的方法,以帮助您理解常用的编程知识点,并逐步解释代码的思路和逻辑斐波那契数列是一个常见的数学序列,在...
本文档提供了两种计算斐波那契的C++代码函数,供网友使用,。主要讲cpp添加到新建项目中运行
汇编语言,两种方法计算斐波那契数列的前22项,斐波那契数列,分别用两种方法:递归调用,普通循环加法,使用DOSBox验证
C语言计算斐波那契数列(Fibonacci sequence), vc 6++可运行源码
labview通过移位寄存器计算斐波那契数列的第n项
linux多线程程序实验,用不同线程完成一个矩阵乘法,以及子进程计算斐波那契数列,父进程输出结果
通过分别用递归法、迭代法、矩阵法以及公式法对斐波那契数列的C++算法进行分析,最终总结并得出计算斐波那契数列在时间效率层面上最优的算法为矩阵法,但综合考虑下来的最优算法为迭代法。
F(N)=F(N-1)+F(N-2) // ...自写的c\c++代码, 使用数组实现加法计算器来计算费波那西数列. 通过设定数组长度, 通过编译后, 可以计算费氏数列的任意一项数值的计算. 如果有问题,可以发邮件和我交流 :) 893222955@qq.com
MATLAB appdesigner设计计算斐波那契数列的笔记
利用Matlab程序计算斐波那契数列的前一百项,输出前100项
递归方法 def fibonacci(n): if n <= 1: return n else: return fibonacci(n-1) + fibonacci(n-2) n = int(input("请输入要计算的斐波那契数列的项数:")) print("斐波那契数列的第", n, "项为:", fibonacci(n)) 2...
Fibonacci数列,用c++编写的,非递归的函数调用求Fibonacci数列的第n项
编写一个Java程序,用于输出Fibonacci数列的前20项。
用VS2010写的,最好也用VS2010打开 用VS2010写的,最好也用VS2010打开 用VS2010写的,最好也用VS2010打开
编写一个函数,根据给定的正整数n,返回斐波那契数列中第n个数字的值。 斐波那契数列是一个数列,每个数字都是前两个数字的和。数列的前两个数字是0和1。数列的前几项是:0, 1, 1, 2, 3, 5, 8, 13, 21, ...
利用递归数列求解著名的Fibonacci数列的各项,用户可自定义输入要求的第n项,输入后即可求出从0到n每一项Fibonacci的值。
//计算2的n次方,n > 0。 const char *power2(unsigned n); //计算斐波那契数列第n项,n > 0。 const char * fib(unsigned n); //计算n的阶乘,n > 0。 const char * fac(unsigned n);