c语言实现斐波那契数列
时间: 2023-07-13 15:34:57 浏览: 94
以下是C语言实现斐波那契数列的代码:
```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 n, i;
printf("请输入需要计算的斐波那契数列个数:");
scanf("%d", &n);
printf("斐波那契数列前%d个数为:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
```
该代码通过递归方式计算斐波那契数列,并输出前n个数。在输入n之后,使用for循环遍历计算并输出斐波那契数列的前n个数。
相关问题
用C语言实现斐波那契数列
好的,我可以帮你实现斐波那契数列。以下是用C语言实现斐波那契数列的代码:
#include <stdio.h>
int main() {
int n, i;
int fib[50];
fib[0] = 0; // 第一项为0
fib[1] = 1; // 第二项为1
printf("请输入需要计算斐波那契数列的项数:");
scanf("%d", &n);
for (i = 2; i < n; i++) {
fib[i] = fib[i-1] + fib[i-2]; // 计算第i项
}
printf("斐波那契数列的前%d项为:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", fib[i]); // 输出前n项
}
return 0;
}
C语言实现斐波那契数列数列 采用矩阵快速幂的方法 实现的代码
以下是 C 语言实现斐波那契数列数列采用矩阵快速幂的方法的代码:
```c
#include <stdio.h>
void matrix_multiply(int a[2][2], int b[2][2], int c[2][2]) {
int i, j, k;
for (i = ; i < 2; i++) {
for (j = ; j < 2; j++) {
c[i][j] = ;
for (k = ; k < 2; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
}
void matrix_pow(int a[2][2], int n, int b[2][2]) {
int i, j;
int c[2][2];
b[][] = b[1][1] = 1;
b[][1] = b[1][] = ;
while (n > ) {
if (n % 2 == 1) {
matrix_multiply(b, a, c);
for (i = ; i < 2; i++) {
for (j = ; j < 2; j++) {
b[i][j] = c[i][j];
}
}
}
matrix_multiply(a, a, c);
for (i = ; i < 2; i++) {
for (j = ; j < 2; j++) {
a[i][j] = c[i][j];
}
}
n /= 2;
}
}
int fibonacci(int n) {
int a[2][2] = {{1, 1}, {1, }};
int b[2][2];
matrix_pow(a, n - 1, b);
return b[][];
}
int main() {
int n;
printf("请输入斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列的第%d项是%d\n", n, fibonacci(n));
return ;
}
```
以上是 C 语言实现斐波那契数列数列采用矩阵快速幂的方法的代码。
阅读全文