用c语言写出斐波那契前40个数
时间: 2024-11-13 07:20:50 浏览: 62
斐波那契数列是一个非常经典的数列,其中每个数字是前两个数字之和。下面是用C语言编写的一个简单程序,用于计算并打印出斐波那契数列的前40个数字:
```c
#include <stdio.h>
// 定义函数来计算斐波那契数
int fibonacci(int n) {
if (n <= 1)
return n;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int i, fib;
// 打印斐波那契序列前40个数
printf("Fibonacci Series of the first 40 numbers:\n");
for (i = 0; i < 40; ++i) {
fib = fibonacci(i);
printf("%d ", fib);
}
printf("\n");
return 0;
}
```
这个程序会递归地计算斐波那契数,然后逐个打印出来。请注意,由于递归计算的效率较低,对于大的n值可能会有性能问题。实际应用中,可以考虑使用循环或动态规划优化。
相关问题
用C语言写出斐波那契数列第12个数
斐波那契数列是一个经典的数列,其中每个数字都是前两个数字的和。用C语言编写程序来计算第12个斐波那契数可以采用递归或循环的方式。这里是递归版本的示例:
```c
#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 fib_12 = fibonacci(12);
printf("斐波那契数列的第12个数是:%d\n", fib_12);
return 0;
}
```
运行这个程序会得到第12个斐波那契数。不过请注意,递归法对于大数值可能会导致性能问题,因为它会有大量的重复计算。如果需要计算较大的斐波那契数,建议使用动态规划或迭代的方式来优化。
用c语言写Fibonacci数列前20个数
当然可以。在C语言中,Fibonacci数列是一个经典的递归或迭代的例子。以下是用循环(迭代)方式编写计算前20个Fibonacci数的代码:
```c
#include <stdio.h>
void fibonacci(int n) {
int t1 = 0, t2 = 1, nextTerm;
printf("Fibonacci Series of %d numbers:\n", n);
for (int i = 1; i <= n; ++i) {
if(i == 1 || i == 2)
nextTerm = i;
else {
nextTerm = t1 + t2;
t1 = t2;
t2 = nextTerm;
}
printf("%d ", nextTerm);
}
}
int main() {
fibonacci(20);
return 0;
}
```
在这个程序中,`fibonacci`函数接收一个整数`n`作为输入,然后使用循环打印出前`n`个Fibonacci数。当`i`等于1或2时,直接将当前值赋给`nextTerm`;否则,通过累加前两个数来计算下一个数。
阅读全文
相关推荐
















