斐波那契数里

刷题第一天(很简单的一道Fibonacci数列题目)

题目如下:

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)

解题思路:

由于是第一次开始刷题,所以先看了一个简单的,今天就刷了这一道简单的题,学了会儿JS,写了其他科目的实验报告。结束!!!
希望自己能成为更好的自己

什么是斐波那契数列:

简单来说,就是一个有规律的数集,规律如下:

F(1) = 1

F(2) = 1

F(n) = F(n - 1) + F(n - 2) (n ≥ 3,n ∈ N*)

斐波那契数列的实现方式(一)--------递归

从上述表达式中可以明显看出,斐波那契数列从第3项(从第0项数起)开始为前两个数的和(即:0,1,1,2,3……)

所以可以用递归的方式写;

C语言示例:

int Fibonacci(int n ) {
   if(n==0)
        return 0;
    if(n==1)
        return 1;
    return (Fibonacci(n-1)+Fibonacci(n-2));
}

此处只写了Fibonacci函数,没有写主函数

斐波那契数列的实现方式(二)--------循环

既然可以用递归的方式做,那么循环也可以,因为按理说,所有的递归可以被循环替代

C语言:

int Fibonacci(int n ) {
    int a=0,b=1;
    int sum=0;
    if(n==1)sum=1;
    for(int i=2;i<=n;i++){
        sum = a+b;
        a=b;
        b=sum;
    }
    return sum;
}

很明显,运行后时间上比上述递归要快,但是代码量要多,内存占用也更大一些。

斐波那契数列的实现方式—JS

https://blog.csdn.net/u014399368/article/details/80526876

https://blog.csdn.net/u014399368/article/details/80526876

这个JS实现方式我还不太会,其实本来想用JS写的,但是对JS的掌握度还不够,就先用C写一个较为基础的思想的代码
看到其他有用python写的,还用了生成器和矩阵的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值