写一个函数,用递归函数完成以下运算:
sum(n) = 1 – 1/2 + 1/3 – 1/4 + … -(1/n)*(-1)n (其中n>0)
函数原型: float sum(int n);
函数参数:n为正整数。
函数返回值:相应于给定的n,右边表达式运算结果。
提示:你可以使用递归表达式: sum(n) = sum(n-1) -(1/n)*(-1)n
- template<unsigned int N> class SumClass
- {
- public:
- static double var;
- };
- template<unsigned int N> double SumClass<N>::var=SumClass<N-1>::var-(1.0/N)*pow(-1.0,(double)N);
- template<> class SumClass<2>
- {
- public:
- static double var;
- };
- double SumClass<2>::var=0.5;
- template<> class SumClass<1>
- {
- public:
- static double var;
- };
- double SumClass<1>::var=1;