使用牛頓迭代法求解n次方根
阿新 • • 發佈:2019-01-23
一、牛頓迭代法的原理
1.定義摘自百度百科:
因此,我們的f(x)=xn f '(x)=nxn-1 .
2.java實現
import java.util.Scanner; public class NewtonMethod { public static void main(String[] args){ double power=8; int exp=3; double mis=0.01; Scanner scan=new Scanner(System.in); power=Double.parseDouble(scan.next()); exp=Integer.parseInt(scan.next()); mis=Double.parseDouble(scan.next()); System.out.print(Newton(power,exp,mis)); } /* * @power表示冪 * @exp表示指數 * @mis表示容錯範圍 */ public static double Newton(double power,int exp,double mis){ double root=power; if((exp%2)==0&&mis<0){ return Double.NaN; } while((root-power/Math.pow(root, exp-1))>mis*root){ root=((exp-1)*root/exp+power)/Math.pow(root, exp-1); } return root; } }