nsjd.net
当前位置:首页 >> 斐波那契数列递归算法 >>

斐波那契数列递归算法

public static long fib1(int n){ if(n==1){ return 1; }elseif(n==2){ return 2; }else{ return fib1(n-1)+fib1(n-2); } }

递归法: #includevoid main(){int Fibonacci(int n);int n,i,c=0;printf("请输入n的值:");scanf("%d",&n);for(i=1; i=3)f = Fibonacci(n-1) + Fibonacci(n-2);return f;}非递归法: #includevoid main(){int i,n;int f[]= {1,1};printf("请输入...

#include int Fibonacci(int n) { if( n == 1 || n == 2) // 递归结束的条件,求前两项 return 1; else return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。 } void main() { int n; printf("please inpu...

public class Fibonacci { public static void main(String args[]){ int n,fn;//n为第n项,fn为第n项的值 java.util.Scanner s = new Scanner(System.in); n=s.nextInt(); fn=function(n); System.out.println("斐波那契数列第"+n+"项为:"+fn)...

添加一个文本框输入前N项的N值,再添加一个命令按钮即可 Private Function F(N As Long) As Long If N > 2 Then F = F(N - 1) + F(N - 2) Else F = 1 End If End Function Private Sub Command1_Click() Cls Dim N As Long, I As Long, sum As L...

long fab(long n){ if (n < 2) return 1; return fab(n - 1) + fab(n - 2);}简单推断一下,当n>2时,递归调用的次数call_fab(n) = 2*fab(n) - 1,再简单证明一下。 用call_fab(n)代表递归调用的次数 n = 3时,调用fab(3),会递归调用fab(1)和fab...

#include "stdafx.h"#include using namespace std;int f(int n){ if (n==0||n==1) //注意主函数循环初值为0 return 1; else return f(n-1)+f(n-2);}int main(){ int i,a[12]; for (i=0;i

f1:=0;f2:=1; for i:=1 to 10 do begin f:=f1+f2; write(f:10); f1:=f2; f2:=f; end;

递归斐波那契算法递归调用的次数,等于相应函数值的2倍-1。 例如,求出1,1,2,3,5,8,……的第6项,函数值为8,递归调用的次数为15次。

网站首页 | 网站地图
All rights reserved Powered by www.nsjd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com