斐波那契数列概念
传统方法
#include <stdio.h>
int Fib(int num) {
if (num <= 2)
{
return 1;
}
else
{
return Fib(num - 1) + Fib(num - 2);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int ans = Fib(n);
printf("%d", ans);
return 0;
}
急速算法
#include <stdio.h>
int Fib(int num) {
int arr[2] = {1,1};
if (num <= 2)
{
return arr[0];
}
for (int i = 3; i <= num; i++)
{
arr[i % 2] = arr[0] + arr[1];
}
return arr[num % 2];
}
int main()
{
int n = 0;
scanf("%d", &n);
int ans = Fib(n);
printf("%d", ans);
return 0;
}