介绍
一 C语言实现斐波那契数列
#include <stdio.h>
// 递归函数,计算斐波那契数列的第n个数
int fibonacci(int n) {
if (n <= 1) {
return n; // 基本情况:当n为0或1时,返回n
} else {
// 递归情况:计算前两个斐波那契数的和
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int n = 10; // 计算斐波那契数列的第n个数
int result = fibonacci(n);
printf("第%d个斐波那契数是:%d\n", n, result);
return 0;
}
代码解释:
-
fibonacci
函数是递归函数,它计算斐波那契数列的第n个数,与Java版本的代码逻辑相同。 -
基本情况(Base Case):如果n小于等于1,直接返回n。
-
递归情况:在递归情况下,我们调用
fibonacci(n - 1)
和fibonacci(n - 2)
来计算前两个斐波那契数的和。 -
在
main
函数中,我们设置要计算的斐波那契数的索引n
,然后调用fibonacci(n)
并打印结果。
二 JAVA实现斐波那契数列
public class Fibonacci {
// 递归函数,计算斐波那契数列的第n个数
public static int fibonacci(int n) {
if (n <= 1) {
return n; // 基本情况:当n为0或1时,返回n
} else {
// 递归情况:计算前两个斐波那契数的和
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
public static void main(String[] args) {
int n = 10; // 计算斐波那契数列的第n个数
int result = fibonacci(n);
System.out.println("第" + n + "个斐波那契数是:" + result);
}
}
代码解释:
-
fibonacci
方法是递归函数,它计算斐波那契数列的第n个数。 -
基本情况(Base Case):如果n小于等于1,那么斐波那契数列的第0个和第1个数分别为0和1,所以直接返回n。
-
递归情况:在递归情况下,我们调用
fibonacci(n - 1)
和fibonacci(n - 2)
来计算前两个斐波那契数的和,这是因为第n个斐波那契数等于第n-1个和第n-2个斐波那契数的和。 -
在
main
函数中,我们设置要计算的斐波那契数的索引n
,然后调用fibonacci(n)
并打印结果。