题解 | 斐波那契数列#

解题思路

斐波那契数列的计算有多种方法,这里使用最简单的迭代方法:

  1. 特判 的情况,直接返回
  2. 使用两个变量 分别记录前两个数
  3. 迭代 次,每次计算下一个斐波那契数
  4. 最终 即为所求的第 个斐波那契数

代码

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    
    if(n <= 2) {
        cout << 1 << endl;
        return 0;
    }
    
    int a = 1, b = 1;
    for(int i = 3; i <= n; i++) {
        int temp = a + b;
        a = b;
        b = temp;
    }
    
    cout << b << endl;
    return 0;
}
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        if(n <= 2) {
            System.out.println(1);
            return;
        }
        
        int a = 1, b = 1;
        for(int i = 3; i <= n; i++) {
            int temp = a + b;
            a = b;
            b = temp;
        }
        
        System.out.println(b);
    }
}
n = int(input())

if n <= 2:
    print(1)
else:
    a, b = 1, 1
    for i in range(3, n + 1):
        a, b = b, a + b
    print(b)

算法及复杂度

  • 算法:迭代法
  • 时间复杂度: - 需要迭代
  • 空间复杂度: - 只使用了常数个变量
全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务