迭代
void Fibonancci(int n)
{
int a = 0, b = 1;
for (int i = n; i > 0; i-=2)
{
a = a + b;
b = a + b;
printf("%d %d ", a, b);
}
}
int main()
{
Fibonancci(20);
return 0;
}
递归
int Fibonacci(int n)
{
static int i = 0, j = 1; //定义静态局部变量
if (n >= 1) //传入的参数大于或等于一才执行
{
i = i + j; //i = 0+1...i = i+j = 1+2
j = i + j; //j = 1+1...j = i+j = 3+2
printf("%d %d ", i, j); //每回输出相加后的两数
n -= 2; //由于输出的是两数,计数每次减二
Fibonacci(n); //把剩余要输出的个数返回
}
else
return 0;
}
int main()
{
Fibonacci(20);
return 0;
}