C语言之函数调用17—递归法之中的一个般函数的调用

Posted yutingliuyl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言之函数调用17—递归法之中的一个般函数的调用相关的知识,希望对你有一定的参考价值。

//递归法
/*
==================================================================
题目:求F(60),当中F(n)定义例如以下:
F(0)=0;
F(1)=1;
F(2n)=f(n)+3;
F(2n+1)=F(n)+F(2n-1).
==================================================================
*/
#include<stdio.h>
double F(int n)
{
if(n==0) return 0;
else if(n==1) return 1;
else if(n%2==0)return F(n/2)+3;
else if(n%2!=0)
return F((n-1)/2)+F(n-2);
}
void main()
{
int n;
float p;
printf("n=");
scanf("%d",&n);
p=F(n);
printf("F(%d)=%.2lf\n",n,p);
}
/*
======================================================================
评:
第三等式中。令t=2n,故t%2==0,n=t/2;
第四等式中,令t=2n+1,故t为奇数,则n=(t-1)/2,2n-1=t-2;(程序中n作为t用)
建立递推关系,就非常easy编写了。
========================================================================
*/

以上是关于C语言之函数调用17—递归法之中的一个般函数的调用的主要内容,如果未能解决你的问题,请参考以下文章

C语言程序:用递归法将一个整数n转化成字符串

汇编语言递归法求阶乘

Pascal算法之回溯及递推详细介绍、

C语言作业:用递归法怎么做猴子摘桃?知道的大哥大姐帮帮忙,我自己想破脑袋想不出来!

C语言编程:用递归法将一个整数n转换成字符串。

在C语言中用递归调用的方法求n!