fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3. double func (double x);
  4. double df (double x);
  5. int main()
  6. {
  7. double x0,x1;
  8. double delta=1.0e-5;
  9. x0=0.5;
  10.  
  11.  
  12. for(;;){
  13.  
  14. x1=x0-func(x0)/df(x0);
  15.  
  16. if(fabs(func(x1))<delta){
  17. printf("答えは%lfです。\n",x1);
  18. break;
  19. }
  20. else{
  21. printf("%lfは答えではありません\n",x1);
  22.  
  23. x0=x1;
  24. }
  25. }
  26. return 0;
  27. }
  28. double func(double x){
  29. double y;
  30. y=x*x*x*x*x-30*x*x*x*x+300*x*x*x-1200*x*x+1800*x-720;
  31. return y;
  32. }
  33. double df(double x){
  34. double y;
  35. y=5*x*x*x*x-120*x*x*x+900*x*x-2400*x+1800;
  36. return y;
  37. }
  38.  
Success #stdin #stdout 0s 2168KB
stdin
Standard input is empty
stdout
0.604088は答えではありません
0.616847は答えではありません
0.617031は答えではありません
答えは0.617031です。