斐波那契数列的两种求法

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;

 

int counts = 0;
int Fib(int n)
{
if (n == 3)//测试第3个斐波那契数的计算测试
{
counts++;
}
if (n <= 2)
return 1;
else
return Fib(n - 1) + Fib(n - 2);
}

 

int main()
{
//斐波那契数列 1 1 2 3 5 8
//描述第n个斐波那契数列
int n = 0;
int ret = 0;
scanf_s("%d", &n);//scanf_s要使用&n
ret = Fib(n);
printf("ret=%d\n", ret);
printf("count=%d\n", counts);
return 0;
}

 

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;
}

posted @ 2023-03-21 23:11  鳄鱼先生偷吃番茄  阅读(47)  评论(0)    收藏  举报