菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
首先我先提供数解法:
#include<stdio.h>
int main()
{
int a[46], k, sum = 0;
scanf("%d", &k);
a[0] = 1, a[1] = 1;
for (int i = 2; i < k; i++)
{
a[i] = a[i - 1] + a[i - 2];
printf("%d\n ", a[i]);
}
printf("%d", a[k-1]);
return 0;
}
用数组可以求出斐波那契数列中第几个数的具体数值。
以下是无数组解法:
#include<stdio.h>
int main()
{
int i, n, a = 1, b = 1, c = 1;
scanf("%d", &n);
for (i = 3; i <= n; i++)
{
c = a + b;
a = b;
b = c;
}
printf("%d", c);
return 0;
}
用a,b,c三个数进行循环,不断向前替换两个数值。