Liny_@NotePad

沉迷ACG中

用递归算法求解f(x)=x-x^3/3!+x^5/5!-x^7/7!+...

YOYO posted @ 2009年3月10日 20:15 in 【算法】与【数据结构】 with tags 递归 , 3474 阅读

用递归算法求解如下问题,计算到第n项为止:
f(x)=x-$\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+...

  1. #include<iostream>
  2. using namespace std;
  3.  
  4. double countFx(int x,int p){
  5.         if(p==0)return 0;
  6.         if(p==1)return x;
  7.         float y1 = countFx(x, p-1);
  8.         float y2 = countFx(x, p-2);
  9.  
  10.         if(p%2) return y1 + (y2-y1)*(x*x)/((2*p-1)*(2*p-2));
  11.  
  12.         return y1 - (y1-y2)*(x*x)/((2*p-1)*(2*p-2));
  13. }
  14.  
  15. int main(){
  16.         double x;
  17.         int n;
  18.        
  19.         cout<<"请输入x和n:";
  20.         cin>>x>>n;
  21.  
  22.         cout<<"f("<<x<<")="<<countFx(x,n)<<endl;
  23.  
  24.         return 0;
  25. }


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter