www.fltk.net > 一列数的规则如下: 1、1、2、3、5、8、13、21、34求第30位数是多少, 用递归算法实现。答...

一列数的规则如下: 1、1、2、3、5、8、13、21、34求第30位数是多少, 用递归算法实现。答...

设这个数列是{a(n)}就是设a(1)=1;a(2)=1;a(3)=2;a(4)=3;a(5)=5;a(6)=8;递推关系是:a(n)=a(n-1)+a(n-2)(n≥3);a(1)=a(2)=1;也就是说:a(3)=a(2)+a(1)=1+1=2;a(4)=a(3)+a(2)=2+1=3;a(5)=a(4)+a(3)=3+2=5;通项公式是:a(n)=[(1+√5)/2]^n/√5-[(1-√5)/2]^n/√5然后你把30带进去,就可以啦.是可以用递归来算.如果你过程没问题,答案就对了.

#include<stdio.h> int count(int n) { if (n==1) return 1; if (n==2) return 1; return count(n-1)+count(n-2); } void main() { printf("%d", count(30) ); }// 结果为832040

#include<stdio.h> int Fab(int n) { if (n==0||n==1) return 1; else return Fab(n-2)+Fab(n-1); } int main() { printf("%d",Fab(30)); }

设这个数列是{a(n)}就是设a(1)=1;a(2)=1;a(3)=2;a(4)=3;a(5)=5;a(6)=8;递推关系是:a(n)=a(n-1)+a(n-2)(n≥3);a(1)=a(2)=1;也就是说:a(3)=a(2)+a(1)=1+1=2;a(4)=a(3)+a(2)=2+1=3;a(5)=a(4)+a(3)=3+2=5;通

这是Fibonacci数列 它的递归定义为F(n)=1,n=0,1 F(n)=F(n-1)+F(n-2) n>1

protected int re(int n) { if (n == 1 || n == 2) return 1; else return re(n - 1) + re(n - 2); }调用方法re(30)

第30位:832040同项:an={[(√5+1)^n]/2-[(1-√5)^n]/2]}÷√5用java程序代码算吧,自己算得累死啊private static long Fibonacci(int n) { long result = 1;//当n2) //当n>2时,进行递归计算 { result= Fibonacci(n-1)+Fibonacci(n-2); } return result; }ps:代码来自网络

public class DiGui{ public static void main(String[] args){ System.out.println(fib(30)); } public static int fib(int n) { if (n == 1 || n == 2) { return 1; } else { return fib(n - 1) + fib(n - 2); } }}

我用递归方式写的 你看看:public class MainClass { public static void Main() { //下面的10就是需要这个规则下的第十个数.Console.WriteLine(amwih(10)); } public static int amwih(int i) { if (i 0 && i

相关搜索:

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com