/*编写一个递归函数完成以下公式的运算*/
//sum(n)=1-1/2+1/3-1/4......(其中n>0)
#include <iostream>
using namespace std;
//非递归算法
float FUN(int n)
{
int m=1,temp=1;
float total=0.0;
while(m!=n+1)
{
total=total+1.0/m*temp; //注意要写成1.0否则返回值是整型
temp=temp*(-1);
m++;
}
return total;
}
//递归算法
float Fun(int n)
{
if(n==1)
return 1;
else if(n%2==0)
{
return Fun(n-1)-1.0/n;
}
else return Fun(n-1)+1.0/n;
}
int main()
{
int a=5;
cout<<Fun(a)<<endl;
cout<<FUN(a)<<endl;
return 0;
}
转载于:https://www.cnblogs.com/zhangdongsheng/articles/1862052.html