题目描述
在数学中,斐波那契数列形成一个由以下递归关系定义的序列:也就是说,在两个起始值之后,每个数字是前面两个数字的总和。第一个斐波那契数列,也表示为Fn,对于n = 0,1,...,是:0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811...有时,此序列被视为从 F1 = 1 开始,但更常见的是包含 F0 = 0。斐波那契数列以比萨的莱昂纳多命名,被称为斐波那契,尽管它们在印度早些时候已经被描述过。编写一个程序来输出一个斐波那契数列,n小于40。
输入
a number n , less and equal than 40输出
a Fibonacci number at n样例输入
8样例输出
21方法一:
#include<stdio.h> int f(int n) { if (n == 0) { return 0; } else { int a = 1; int b = 1; int c = 1; while (n > 2) { c = a + b; a = b; b = c; n--; } return c; } } int main() { int n; scanf("%d", &n); int len = f(n); printf("%d\n", len); return 0; }方法二:
#include<stdio.h> int main() { int n; scanf("%d", &n); int dp[1000]; dp[0] = 0; dp[1] = 1; int i; for (i = 2; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } printf("%d\n", dp[n]); }
SWUST OJ405斐波那契数列
于 2021-12-17 23:05:39 首次发布
本文介绍了一种计算斐波那契数列的方法,并提供了两种实现方式:一种使用循环迭代,另一种采用动态规划。这两种方法都适用于计算指定位置的斐波那契数值。
1287

被折叠的 条评论
为什么被折叠?



