Thứ Sáu, 8 tháng 1, 2016

Căn bậc 2 không dùng hàm

  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. double my_sqrt(double x);
  5. int main(void)
  6. {
  7.     unsigned int n;
  8.     printf("moi nhap a: ");
  9.     scanf("%d",&n);
  10.    
  11.     printf("can bac hai cua a la: %1.9f\n",my_sqrt(n));
  12.     return 0;
  13. }
  14. double my_sqrt(double x)
  15. {  
  16.     double x0,xn,e=1e-8;
  17.     xn=x/2;
  18.     do
  19.     {
  20.         x0=xn;
  21.         xn=(xn+x/xn)/2.0;
  22.     }while(fabs(xn-x0)>e);      /// fabs() la ham tinh tri tuyet doi
  23.    
  24.     return xn;
  25. }

0 nhận xét: