#include <stdio.h>
#include <stdlib.h>
/*
**斐波那契数列
**当n=0,f(n)=0;当n=1,f(n)=1;当n>1,f(n)=f(n-1)+f(n-2)
*/
/*
**斐波那契数列的递归实现
*/
int Fib(int i)
{
if(i<2)
return i==0?0:1;
return Fib(i-1)+Fib(i-2);
}
/*
**斐波那契数列的迭代实现
*/
int Fib_d(int n)
{
int i,a[40];
a[0]=0;
a[1]=1;
if(n==0)
{
return a[0];
}
else if(n==1)
{
return a[1];
}
else
{
for(i=2;i<=n;i++)
{
a[i]=a[i-1]+a[i-2];
}
return a[n];
}
}
/*
**求n!
*/
int Factorial(int n)
{
if(n==0)
return 1;
else
return n*Factorial(n-1);
}
/*
**编写递归函数,实现将输入的任意长度的字符串反向输出的功能
*/
void print()
{
char a;
/*以#表示结束*/
scanf("%c",&a);
if(a!='#') print();
if(a!='#') printf("%c",a);
}
int main()
{
/*
int n=8,i;
for(i=0;i<=n;i++)
{
printf("%d ",Fib(i));
}
printf("\n");
for(i=0;i<=n;i++)
{
printf("%d ",Fib_d(i));
}
*/
print();
return 0;
}
递归思想
最新推荐文章于 2023-09-01 22:33:50 发布