首页 > 代码库 > Java下用牛顿迭代法实现开方
Java下用牛顿迭代法实现开方
1 import java.util.Scanner; 2 3 public class sqrtNewton { 4 public static void main(String[] args) { 5 System.out.println("请输入要开方的数:"); 6 Scanner input = new Scanner(System.in); 7 double num = input.nextDouble(); 8 double e = 0.01F; 9 sqrt(num, e); 10 num = 2; 11 e = 0.0001F; 12 sqrt(num, e); 13 num = 2; 14 e = 0.00001F; 15 sqrt(num, e); 16 } 17 private static double sqrt(double num, double e) { 18 double gssn = num / 2; 19 double e0; 20 int cnt = 0; 21 do { 22 gssn= (gssn + num / gssn) / 2; 23 e0 = gssn*gssn - num; 24 cnt++; 25 System.out.printf("尝试 %f, 误差: %f\n", gssn, e0); 26 } while (e0 > e); 27 28 System.out.printf("尝试 %d 次, 结果为: %f\n", cnt, gssn); 29 return gssn; 30 } 31 }
Java下用牛顿迭代法实现开方
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。