首页 > 编程语言 > 详细

C语言之函数调用17—递归法之一般函数的调用(2)

时间:2015-08-02 01:00:17      阅读:287      评论:0      收藏:0      [点我收藏+]
//递归法
/*
==================================================================
题目:求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用)
建立递推关系,就很容易编写了!
========================================================================
*/

版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言之函数调用17—递归法之一般函数的调用(2)

原文:http://blog.csdn.net/lzx19901012/article/details/47194113

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!