Fibnacci数列Java实现

Fibnacci数列:如是:[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

f(0) = 1; f(1) = 1; f(n) = f(n-1)+f(n-2) n>1;

 1 import java.util.Arrays;
 2
 3 public class Test {
 4
 5     public static void main(String[] args) {
 6         Test test = new Test();
 7         int n = 15;
 8         int[] fibnacciArray = new int[n];
 9         for (int i = 0; i < n; i++) {
10             fibnacciArray[i] = test.fibnacci(i);//将n处的值存入数组中
11         }
12         System.out.println(Arrays.toString(fibnacciArray));
13     }
14
15     //递归求解n处的值
16     private int fibnacci(int n){
17         if(n==0||n==1){
18             return 1;
19         }
20         else if(n>1){
21             return fibnacci(n-1)+fibnacci(n-2);
22         }
23         else{
24             return 0;
25         }
26     }
27 }

输出:   [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
时间: 2024-12-05 07:34:42

Fibnacci数列Java实现的相关文章

acm 之fib数列——java

1022. Fib数列 Description 定义Fib数列:1,1,2,3,5,8,13,… 求第N项除以2010的余数 Input Format 输入仅一行,为一个整数N Output Format 输出仅一行,为第N项除以2010的余数 Sample Input 3 Sample Output 2 Limits: 对于70%的数据 N≤1,000,000 对于100%的数据 N≤210,000,000,000 这道题最让人着急的是数太大了,而且不可以使用递归,这种方法会暴栈,但是java

算法练习2---斐波那契数列java版

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少? 数列:1   1   2   3   5   8   13...... 可以总结出公示为F(n)=F(n-1)+F(n-2) java程序代码实现如下: public class ArithTest { public static void main(String[] args) { ArithTest at = new ArithTest(); //

用HashMap优化斐波那契数列 java算法

斐波那契是第一项为0,第二项为1,以后每一项是前面两项的和的数列. 源码:Fibonacci.java public class Fibonacci{ private static int times=0; public static void main(String args[]){ int nums = fibonacci(30); System.out.println("结果:"+nums); System.out.println("次数:"+times);

求fibonacci数列 java

java 和 c 差不多.但是java可以根据需求定义数组. 我还不会java的函数调用,所以用数组的方法. 1 import java.util.Scanner; 2 public class fibon{ 3 public static void main(String[] args){ 4 Scanner input=new Scanner (System.in); 5 int i,n; 6 n=input.nextInt(); 7 int[] arr=new int[n]; 8 arr[

如何打印斐波拉契数列以及质数列表

这其实是两道非常基础和简单地题.但somehow每隔一段时间我老是会不经意地想起这两个问题,有时候卡克没有一下想起解法还会急的直冒汗................... 言归正传,贴出这两题代码 (1)打印斐波拉契数列 // Java program for Fibonacci number using Loop. public static int fibonacciLoop(int number){ if(number == 1 || number == 2){ return 1; } i

Java 8 学习资料汇总【转载】

原文地址 2014年3月18日,Java SE 8 发布,而 Java 9 预期2016年发布: 2009年12月,Java EE 6发布: 2004年9月,J2SE 1.5发布: 2000年5月,JDK1.3.JDK1.4 相继发布: 1996年1月,JDK1.0发布: 1995年5月23日,Java 语言正式诞生. 本文首发于 jOOQ博客的 Java 8 Friday系列,经原作者 Data Geekery GmbH 授权由InfoQ中文站编译并分享. Java 8 发布已经有一段时间,它

Java - 35 Java 实例

Java 实例 本章节我们将为大家介绍 Java 常用的实例,通过实例学习我们可以更快的掌握 Java 的应用. Java 环境设置实例 Java 实例 – 如何编译一个Java 文件? Java 实例 – Java 如何运行一个编译过的类文件? Java 实例 - 如何执行指定class文件目录(classpath)? Java 实例 – 如何查看当前 Java 运行的版本? Java 字符串 Java 实例 – 字符串比较 Java 实例 - 查找字符串最后一次出现的位置 Java 实例 -

#寒假集训[20200112]

CCPC签到题集锦 2019秦皇岛: 给定正整数n,判断1/n是不是一个无穷循环小数.(t<=100,n<=100) 题解: 因为\(1/n\)是一个有理数,有理数不包含无限不循环小数,所以\(1/n\)不是有限小数就是无限循环小数.所以每次将其除以2和5,直到除不尽,若此时为1则有限小数,否则无限循环小数 CCPC哈尔滨: 给定n个整数,每个整数的范围0-100,问小于80的整数是否大于\(1/3\) 题解: 简单模拟 CCPC哈尔滨: 给定n个盒子,第i个盒子中有\(a_i\)个小球,现从

UML状态图和活动图

UML状态图和活动图 统一建模语言UML(Unified Modeling Language)是非专利的第三代建模和规约语言.UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法.UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效. UML定义了5类,10种模型图: 1.用例图:从用户角度描述系统功能,并指各功能的操作者.2.静态图:包括类图,包图,对象图.   类图:描述系统中