有一分数序列: 1/2 , 1/4 , 1/6 , 1/8 ......,用递归的方法,求此数列20项之和.
可以看出规律:每一项位1/n*2
这个很容易些递归,但是要注意一点,使用浮点数相除保存:
下面上代码:
#include <stdio.h>
double fun(int i)
{
//如果是第一项直接返回结果
if (i == 1)
return 1.0 / (double)2;
return fun(i - 1) + 1.0 / (double)(2 * i);//递归相加
}
int main()
{
//打印出前二十项之和
printf("%lf\n", fun(20));
return 0;
}
运行结果为:
如果有什么问题和疑问可以在下面留言互相探讨。
原题我已经上传到这里了http://download.csdn.net/detail/yincheng01/6461073 ,
解压密码为 c.itcast.cn