Fibonacci数列:无穷数列1,1,2,3,5,……,求第n个Fibonacci数,n最大为200
时间: 2024-12-16 16:15:46 浏览: 12
斐波那契数列(Fibonacci sequence)是一个非常经典的数列,它的前两个数是1,从第三个数开始,每个数都是前两个数之和。所以数列中的项依次是1, 1, 2, 3, 5, 8, 13, ...。对于要求第n个Fibonacci数的情况,你可以使用循环或递归来计算。
这里提供一种基于循环的方法,这种方法适合处理较大的n值,因为它避免了重复计算:
```c
#include <stdio.h>
// 函数定义,计算第n个Fibonacci数
unsigned long long fibonacci(int n) {
if (n <= 0) {
return 0; // 如果n小于等于0,返回0
}
else if (n == 1) {
return 1; // 第1个数是1
}
else {
unsigned long long fib_n_minus_1 = 1;
unsigned long long fib_n_minus_2 = 1;
for (int i = 2; i < n; ++i) {
unsigned long long next_fib = fib_n_minus_1 + fib_n_minus_2;
fib_n_minus_2 = fib_n_minus_1;
fib_n_minus_1 = next_fib;
}
return fib_n_minus_1; // 返回第n个数
}
}
int main() {
int n = 200; // 用户指定的最大值
printf("The %dth Fibonacci number is: %llu\n", n, fibonacci(n));
return 0;
}
```
运行这段代码后,它会输出第200个斐波那契数。
阅读全文