使用【C语言 】写【文本相似度分析】的代码编程求fibonacci数列1,1,2,3…的前n个数并依次打印出来,n需要输入
时间: 2024-10-15 18:24:36 浏览: 32
在C语言中,我们可以创建一个简单的程序来计算Fibonacci数列的前n个数字并打印它们。Fibonacci数列是一个典型的递归序列,但为了效率考虑,我们可以使用动态规划避免重复计算。下面是一个基本的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 动态规划函数,存储已经计算过的Fibonacci数值
int fib(int n, int* memo) {
if (n <= 0) return 0;
if (n == 1 || n == 2) return 1;
// 如果已经计算过这个值,直接返回结果
if (memo[n] != -1)
return memo[n];
// 计算当前项,然后保存结果供后续使用
memo[n] = fib(n - 1, memo) + fib(n - 2, memo);
return memo[n];
}
int main() {
int n, i;
// 用户输入
printf("请输入Fibonacci数列的项数(n): ");
scanf("%d", &n);
// 初始化动态规划数组
int memo[n + 1];
for (i = 0; i <= n; i++)
memo[i] = -1;
printf("Fibonacci数列的前%d个数字是:\n", n);
for (i = 1; i <= n; i++) {
printf("%d ", fib(i, memo));
}
printf("\n");
return 0;
}
```
在这个程序中,我们首先读取用户输入的n,然后初始化一个`memo`数组用于存储之前计算的Fibonacci值。接着,在循环中逐个计算并打印每个数字。
阅读全文