【C语言】求第n个斐波那契数

简介: 斐波那契数:前两个数为1,后面的数为它前两个数之和

斐波那契数:前两个数为1,后面的数为它前两个数之和


递归法(速度慢)

#include<stdio.h>
long long int Fib(int n)
{
  if (n <= 2)
  return 1;
  else
  return Fib(n - 1) + Fib(n - 2);
}
int main()
{
    int num = 0;
  scanf("%d", &num);
  printf("%lld\n",Fib(num));
  return 0;
}


递推法(速度更快)

#include<stdio.h>
long long int Fib(int n)
{
  int a = 1;
  int b = 1;
  int c = 1;
  while (n > 2)
  {
  c = a + b;
  a = b;
  b = c;
  n--;
  }
  return c;
}
int main()
{
  int num=0;
  scanf("%d", &num);
  printf("%lld\n", Fib(num));
  return 0;
}

运行结果:


image.png

相关文章
|
2月前
|
存储 C语言
C语言求阶乘
C语言求阶乘
28 0
|
2月前
|
算法 C语言
C语言求最大公约数
C语言求最大公约数
|
7月前
|
C语言
【C语言实现求斐波那契数列的第n位】
【C语言实现求斐波那契数列的第n位】
46 0
|
14天前
|
C语言
斐波那契数列(C语言)
斐波那契数列(C语言)
斐波那契数列(C语言)
|
2月前
|
算法 C语言
C语言判断素数
C语言判断素数
15 0
|
10月前
|
C语言
【C语言】杨辉三角和练习
【C语言】杨辉三角和练习
51 0
【C语言】杨辉三角和练习
|
10月前
|
C语言
【C语言】杨辉三角
【C语言】杨辉三角
67 0
|
11月前
|
存储 编译器 Linux
C语言例题讲解(中)
C语言例题讲解(中)
|
11月前
|
C语言
C语言实现杨辉三角
C语言实现杨辉三角
|
11月前
|
C语言
斐波那契数列【C语言实现】
斐波那契数列【C语言实现】
211 4