首页 > 试题广场 >

一列数的规则如下:1、1、2、3、5、8、13、21、34.

[问答题]
一列数的规则如下:1、1、2、3、5、8、13、21、34......求第30位数是多少, 用递归算法实现。
推荐
#include<stdio.h>
int fib(int n){
	if(n<=2) {
		return 1;
	} else {
		return fib(n-1) + fib(n-2);
	}
}
int main(){
	printf("%d\n",fib(30));
	return 0;
} 

编辑于 2017-03-03 10:20:59 回复(0)
斐波那契数列 int n=30;
public int fibonacci(int n){
     if(n<=2){
        return 1; 
    }else{
        return fibonacci(n-1)+fivonacci(n-2);
    }
}
编辑于 2016-11-25 00:38:48 回复(0)
function fn(n){ if(n===0 n===1){ return n; }else if(n>2){ return fn(n-1)+fn(n-2); }else return 0; } console.log(fn(30));
发表于 2017-08-18 23:47:00 回复(0)
#include<stido.h>
int f(int n){
       if(n<=2){
       return 1;}else{
                                 return f(n-1)+f(n-2);
     }
}
int main(){
       printf("%d\n",f(30));
         return 0;
}
发表于 2020-06-18 10:38:07 回复(0)
//递归
def fib(n):
    if n==1:
        return 1
    if n==2:
        return 2
    else:
        return fib(n-1) + fib(n-2)

//迭代
def fib(n):
    if b<2:
        return 1
    a, b =1, 1
    for _ in range(3, n):
        a, b = b, a+b
    return b
    

编辑于 2017-02-06 21:09:55 回复(0)
#include<iostream> using namespace std; int f(int n) { if(n==1)return 1; if(n==2)return 1; return f(n-1)+f(n-2); } int main() { int n; cin>>n; cout<<f(n); return 0; }
发表于 2016-12-08 10:19:47 回复(1)