递归和非递归实现斐波那契数列

风流意气都作罢 提交于 2019-12-02 11:14:39
#include<stdio.h>
#include<windows.h>
int Fib1(int m)
{
 while (m >= 2)
 {
  return Fib1(m - 1) + Fib1(m - 2);
 }
 return 1;
}
int Fib2(int n)
{
 int num;
 int a = 1;
 int b = 1;
 if (n <= 1)
 {
  return 1;
 }
 else
 {
  for (int i = 2; i <= n; i++)
  {
   num = a + b;
   a = b;
   b = num;
  }
  return num;
 }
}
int main()
{
 int p = 8;
 printf("%d\n", Fib1(p));
 printf("%d\n", Fib2(p));
 system("pause");
 return 0;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!