斐波那契数列(Fibonacci sequence)是一个非常简单的数列,它的定义如下:
F(0) = 0F(1) = 1F(n) = F(n-1) + F(n-2)
斐波那契数列的特点是,每一项的值都是前两项之和。比如,前 10 项斐波那契数列为:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
斐波那契数列在计算机科学、数学、物理学、生物学等领域都有广泛的应用。
在 C 语言中,我们可以用递归函数来实现斐波那契数列。递归函数的定义如下:
int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
这个函数的实现非常简单,我们只需要在递归函数中调用自己就可以了。
我们可以用这个函数来计算前 10 项斐波那契数列:
#include <stdio.h>
int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int i;
for (i = 0; i < 10; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
这个程序的输出结果为:
0 1 1 2 3 5 8 13 21 34
除了用递归函数,我们还可以用迭代函数来实现斐波那契数列。迭代函数的定义如下:
int fibonacci(int n) {
int a = 0;
int b = 1;
for (int i = 0; i < n; i++) {
int c = a + b;
a = b;
b = c;
}
return a;
}
这个函数的实现也非常简单,我们只需要在迭代函数中不断更新 a 和 b 的值就可以了。
我们可以用这个函数来计算前 10 项斐波那契数列:
#include <stdio.h>
int fibonacci(int n) {
int a = 0;
int b = 1;
for (int i = 0; i < n; i++) {
int c = a + b;
a = b;
b = c;
}
return a;
}
int main() {
int i;
for (i = 0; i < 10; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
这个程序的输出结果为:
0 1 1 2 3 5 8 13 21 34
斐波那契数列是一个非常简单的数列,但是它在计算机科学、数学、物理学、生物学等领域都有广泛的应用。在 C 语言中,我们可以用递归函数或者迭代函数来实现斐波那契数列。