Java中求立方根需要了解牛顿迭代法,具体证明过程略,最终推导得出的结论如下:
设, 求f(x)=0时的解x,即为y的立方根。 根据牛顿迭代思想,即;
牛顿迭代法:
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 double a = in.nextDouble(); double b = getLFG(a); System.out.print(b); } public static double getLFG(double num){ if(num == 0 || num==1 || num == -1){ return num; } double p = num; double q = (2*p+num/(p*p))/3; while(Math.abs(p-q)<0.0001){ p = q; q = (2*p+num/(p*p))/3; }
return q; } }
Over...