非数组 递推
代码语言:javascript
复制#include<stdio.h>
int main()
{
long long n,a=1,b=1,s=0,i;
scanf("%lld",&n);
if(n<3)
printf("1");
else
{
for(i=3;i<=n;i )
{
s=a b;
a=b;
b=s;
}
printf("%lld",s);
}
}
数组 递推
代码语言:javascript
复制#include<stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
long long f[n];
for(i=0;i<n;i )
{
if(i<2)
f[i]=1;
else
f[i]=f[i-1] f[i-2];
}
printf("%lldn",f[n-1]);
}
函数 递归
代码语言:javascript
复制#include<stdio.h>
long long fibonacci(int n)
{
if(n==1||n==2)
return 1;
return fibonacci(n-1) fibonacci(n-2);
}
int main()
{
int n;
scanf("%d",&n);
printf("%lld",fibonacci(n));
}