Thứ Năm, 25 tháng 2, 2016

  1.  
  2. double ln(double n) // viết hàm tính ln (n)
  3. {
  4.    double tong = n-1;
  5.    double x = tong;
  6.    int flag = -1;
  7.   if(n == 1.0) // với các phép so sánh này để chính xác các bạn nên define một giá trị Epsilon để so sánh.
  8.   {  //  tu 1 tro xuong
  9.          return 0;
  10.   }
  11.   if(n <= 0.0)
  12.        return -1; // khong co log nay
  13.  
  14.    for(int i=2; i<9999; i++) // tại sao ở đây lại lấy số 9999 nhỉ ????
  15.    {
  16.         tong += (flag*x) / i ;
  17.         x*=x; // cứ một lần lũy thừa của x lại tăng lên 1.
  18.         flag*=-1; // thay đổi dấu cho lần lặp tiếp theo
  19.    }
  20.    return tong;
  21. }

0 nhận xét: