• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > java 中平方根(sqrt)算法 的实例详解

java 中平方根(sqrt)算法 的实例详解

作者:SpikeKing 字体:[增加 减小] 来源:互联网 时间:2017-05-28

SpikeKing 通过本文主要向大家介绍了java sqrt,java math.sqrt,java sqrt函数,java中math.sqrt,java中如何使用sqrt等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

java 中平方根(sqrt)算法

平方根(sqrt, square root)是数学中常见的数学的公式;

使用程序进行求平方根主要分为两步:

第一步: while()循环, 控制循环次数及小数的位数, 防止无限循环和出现多位小数;

第二步: 通过分解平方根, 使用循环, 逐渐减小,接近平方根;

同理, 其他方根也可以类似扩展, 不过需要注意的是,
偶数次方根需要确保输入正数;
奇数次方根需要转换为正数, 确保循环收敛, 再进行结果正负判断;

代码如下:

/* 
 * Algorithms.java 
 * 
 * Created on: 2013.12.03 
 *   Author: Wendy 
 */ 
 
/*eclipse std kepler, jdk 1.7*/ 
 
public class Algorithms  
{ 
  public static double sqrt(double c) 
  { 
    if(c<0) return Double.NaN; //NaN: not a number 
    double err = 1e-15; //极小值 
    double t = c; 
    while (Math.abs(t-c/t) > err*t) //t^2接近c, 防止小数 
      t = (c/t + t)/2.0; 
    return t; 
  } 
   
  public static double cbrt(double c) 
  { 
    boolean b = (c>0) ? true : false; //保存c的符号 
    c = (c>0) ? c : -c; 
    double err = 1e-15; 
    double t = c; 
    while(Math.abs(t*t-c/t) > err*t) 
      t = (c/(t*t)+t)/2.0; 
    t = (b) ? t : -t; 
    return t; 
  } 
   
  public static void main(String[] args)  
  { 
    double r = sqrt(4.0); 
    System.out.println("sqrt(4.0) = " + r); 
    double rc = cbrt(-27.0); 
    System.out.println("cbrt(9.0) = " + rc); 
  } 
} 
</div>

输出:

sqrt(4.0) = 2.0 
cbrt(9.0) = -3.0 
</div>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • java 中平方根(sqrt)算法 的实例详解

相关文章

  • 2017-05-28Java 内省(Introspector)深入理解
  • 2017-05-28全面解析SpringBoot自动配置的实现原理
  • 2017-05-28浅谈TreeSet中的两种排序方式
  • 2017-05-28java中hibernate二级缓存详解
  • 2017-05-28Java Calendar类常用示例_动力节点Java学院整理
  • 2017-05-28Java 8 lambda初试示例详解
  • 2017-05-28给Java菜鸟的一些建议_关于Java知识点归纳(J2EE and Web 部分)
  • 2017-05-28SpringBoot Mybatis Plus公共字段自动填充功能
  • 2017-05-28Java线程池的几种实现方法和区别介绍实例详解
  • 2017-05-28java文件操作之Path,Paths,Files

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详解spring中使用solr的代码实现
    • java中ArrayList与LinkedList对比详情
    • spring boot如何添加拦截器
    • spring整合redis缓存并以注解(@Cacheable、@CachePut、@CacheEvict)形式使用
    • 详解Spring Boot 自定义PropertySourceLoader
    • 基于SpringBoot与Mybatis实现SpringMVC Web项目
    • java中TCP/UDP详细总结
    • 详解使用zxing库生成QR-Code二维码
    • Java中抽象类和接口的区别_动力节点Java学院整理
    • java中多态概念、实现原理详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有