fork download
  1. #include <stdio.h>
  2.  
  3. double mabs(double x){ return (x < 0)? -x : x; }
  4.  
  5. int main(void) {
  6. double num = 8;
  7. int rootDegree = 3;
  8.  
  9. printf("Число, корень которого считаем а = %f\n", num);
  10. printf("Корень степени n = %d\n", rootDegree);
  11.  
  12. double eps = 0.00001;
  13. double root = num / rootDegree;
  14. double rn = num;
  15. int countiter = 0;
  16. while(mabs(root - rn) >= eps){
  17. rn = num;
  18. for(int i = 1; i < rootDegree; i++){
  19. rn = rn / root;
  20. }
  21. root = 0.5 * ( rn + root);
  22. printf("root = %f\n", root);
  23. countiter++;
  24. }
  25.  
  26. printf("root = %f\n", root);
  27. printf("Число итераций = %i\n", countiter);
  28.  
  29. return 0;
  30. }
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
Число, корень которого считаем а = 8.000000
Корень степени n = 3
root = 1.895833
root = 2.060826
root = 1.972254
root = 2.014461
root = 1.992925
root = 2.003575
root = 1.998222
root = 2.000891
root = 1.999555
root = 2.000223
root = 1.999889
root = 2.000056
root = 1.999972
root = 2.000014
root = 1.999993
root = 2.000003
root = 1.999998
root = 1.999998
Число итераций = 17