#includestdio.h
创新互联主要从事做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务京山,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
long func(long n)
{
if(n==0||n==1)return n;
else return func(n-1)+func(n-2);
}
main()
{
long n;
printf("please input n:");
scanf("%ld",n);
printf("the result is %ld",func(n));
}
#include
#define
COL
5
//一行输出5个
long
fibonacci(int
n)
{
//fibonacci函数的递归函数
if
(0==n||1==n)
{
//fibonacci函数递归的出口
return
1;
}
else
{
return
fibonacci(n-1)+fibonacci(n-2);
//反复递归自身函数直到碰到出口处再返回就能计算出第n项的值
}
}
int
main(void)
{
int
i,n;
n=
17;
printf("Fibonacci数列的前%d项\n",
n);
for
(i=0;
i
{
printf("%-10ld",fibonacci(i++));
//调用递归函数并且打印出返回值
if(i%COL==0)
{
//若对COL取余等于0就换行,也就是控制每行输出多少个,
//而COL=10就是每行输出10个
printf("\n");
}
}
printf("\n");
return
0;
}
#include stdio.h
long int F(int n)
{
if (n==1||!n) {
return n;
}
else return F(n-1)+F(n-2);
}
int main(void)
{
int i,n;
printf("n=");
scanf("%d",n);
for (i=0; in; i++) {
printf("%-10ld",F(i));
}
return 0;
}
在数理逻辑和计算机科学中
递归函数或μ-递归函数是一类从自然数到自然数的函数,它是在某种直觉意义上是"可计算的" 。事实上,在可计算性理论中证明了递归函数精确的是图灵机的可计算函数。递归函数有关于原始递归函数,并且它们的归纳定义(见下)建造在原始递归函数之上。但是,不是所有递归函数都是原始递归函数 — 最著名的这种函数是阿克曼函数。
以上内容参考:百度百科-递归函数
#include stdio.h
double RecursiveSum(int n, int max)
{
if(n max)
{
return RecursiveSum(n+1, max) + (double)n/(2*n+1);
}
else
{
return (double)n/(2*n+1);
}
}
void main()
{
int max;
double result;
scanf("%d", max);
result = RecursiveSum(1, max);
printf("%.15f\n", result);
// 我用的是VS2008,以下部分为了方便看结果
getchar();
getchar();
}
#include stdio.h
int fun(int n)
{
if(n==0)
return 0;
return n%2?2*fun(n-1)+1:2*fun(n-1)-1;
}
int main()
{
int n;
scanf("%d",n);
printf("%d\n",fun(n));
return 0;
}
递归函数如下:
首先斐波拉楔数列的前n项和递推公式为S(n)=S(n-1)+S(n-2)+1;
(根据通项公式a[n]=a[n-1]+a[n-2]很容易推导出来)
递归函数如下所示;
int sum_Fibonacci(int n)
{
if(1 == n)
return 1;
else if(2 == n)
rerurn 2;
else
return sum_Fibonacci(n-1)+sum_Fibonacci(n-2)+1;
}