斐波拉契数列的递归和非递归写法(c/java)
来源:互联网 发布:手机安装ubuntu arm版 编辑:程序博客网 时间:2024/06/08 02:09
C语言版本:
#include <stdio.h>long fib(long n) {if(n<=2)return(1);if(n>=3)return(fib(n-1)+fib(n-2));}long fib_1(long n) {long i;if(n <=2) {return 1;} else {long a = 1;long b = 1;for( i = 2 ; i < n-1 ; i++) {b = a + b;a = b - a;printf("a=%ld,b=%ld\n",a,b);}return a + b;}}void main() {long n,f;printf("please input n:");scanf("%ld",&n);f=fib_1(n);printf("f=%ld\n",f);}
Java版本:
public class FibTest { public static void main(String[] arags){ long begin = System.currentTimeMillis(); System.out.println(fib(10)); //System.out.println(fib_digui(10)); long end = System.currentTimeMillis(); System.out.println(end - begin); } public static long fib_digui(int n) { if (n <= 1) { return n; } else { return fib_digui(n - 1) + fib_digui(n - 2); } } public static long fib(int n){ if(n < 3) return 1; else{ long a = 1; long b = 1; for(int i = 2 ; i < n-1 ;i++){ b = a + b; a = b - a; System.out.println("a = "+a +" b = "+b); } return a + b; } } }
0 0
- 斐波拉契数列的递归和非递归写法(c/java)
- Fibonacci数列的递归和非递归
- 【C语言】fibonacci数列 的递归和非递归 +浅谈递归优劣
- 有序链表和并的递归写法和非递归写法(c语言)
- 二分查找的递归写法和非递归写法
- 【C++】斐波那契数列前N项的和递归与非递归算法
- Fibonacci数列 递归和非递归的解法
- 菲波拉契数列的递归实现和非递归实现
- fibonacci数列的递归和非递归解法
- Fibonacci数列的非递归实现(Java版)
- 关于求平方和的,递归和非递归的写法
- Java学习之旅--斐波那契数列的递归和非递归实现
- 二分查找的递归和非递归写法
- 二叉排序树中查找元素的递归和非递归写法
- 菲波拉契数列Fibonacci递归和非递归
- 斐波拉契数列的非递归算法sql
- SQL斐波拉契数列的非递归算法
- 二分查找(递归和非递归写法)
- 偶尔记录的作业
- 不同学习任务的评价方法
- applicationContext.xml的配置
- 剑指offer——合并两个排序的链表
- 求二叉树的两个节点的最低公共祖先节点
- 斐波拉契数列的递归和非递归写法(c/java)
- java挑战高并发(6):Runnable和Thread实现多线程的区别(含代码)
- Java设计模式--多例模式
- 4241: 历史研究
- Scala入门No.2-面向接口编程
- Notes:从Java编译器的角度看类加载过程
- Uva 11107 Life Forms(后缀数组 + 二分)
- MySQL从入门到精通_1存储引擎
- Hello Java !