面试题答案
一键面试#include <stdio.h>
// 递归函数计算斐波那契数列
int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
if (n % 2 == 0) {
printf("计算偶数项: %d\n", n);
return fibonacci(n - 1) + fibonacci(n - 2);
} else {
printf("跳过奇数项: %d\n", n);
return fibonacci(n - 1);
}
}
}
int main() {
int n = 6;
int result = fibonacci(n);
printf("第 %d 项斐波那契数的值为: %d\n", n, result);
return 0;
}
上述代码实现了以下功能:
fibonacci
函数:- 采用递归的方式计算斐波那契数列。
- 当
n
为偶数时,打印当前正在计算偶数项的信息,并通过递归调用fibonacci(n - 1)
和fibonacci(n - 2)
来计算当前偶数项的值。 - 当
n
为奇数时,打印跳过奇数项的信息,并直接递归调用fibonacci(n - 1)
计算下一项。
main
函数:- 设定要计算的斐波那契数列的项数
n
为6。 - 调用
fibonacci
函数计算并输出第n
项斐波那契数的值。
- 设定要计算的斐波那契数列的项数