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

发布时间 - 2026-01-11 00:28:58    点击率:

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); 
  } 
} 

输出:

sqrt(4.0) = 2.0 
cbrt(9.0) = -3.0 

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


# java 中平方根  # java 中平方根详解  # java 中平方根实例  # 中平  # 的是  # 希望能  # 谢谢大家  # 多位  # 转换为  # 两步  # 第二步  # 需要注意  # Created  # Algorithms  # class  # brush  # std  # kepler  # eclipse  # Author  # Wendy  # pre  # root 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在云主机上快速搭建多站点网站?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  如何在IIS7中新建站点?详细步骤解析  清除minerd进程的简单方法  EditPlus中的正则表达式 实战(4)  Python图片处理进阶教程_Pillow滤镜与图像增强  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  如何在IIS中新建站点并配置端口与物理路径?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  如何在建站之星绑定自定义域名?  大连 网站制作,大连天途有线官网?  如何在建站主机中优化服务器配置?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  如何在阿里云完成域名注册与建站?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  jQuery 常见小例汇总  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  如何用PHP快速搭建CMS系统?  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  如何安全更换建站之星模板并保留数据?  nginx修改上传文件大小限制的方法  Laravel如何使用Livewire构建动态组件?(入门代码)  Linux网络带宽限制_tc配置实践解析【教程】  如何在Windows虚拟主机上快速搭建网站?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  音响网站制作视频教程,隆霸音响官方网站?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  微信小程序 canvas开发实例及注意事项  韩国服务器如何优化跨境访问实现高效连接?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel如何处理文件下载请求?(Response示例)  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  使用spring连接及操作mongodb3.0实例  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  如何在腾讯云服务器快速搭建个人网站?  黑客如何通过漏洞一步步攻陷网站服务器?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何在 Pandas 中基于一列条件计算另一列的分组均值  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Swift中swift中的switch 语句  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  高防服务器租用首荐平台,企业级优惠套餐快速部署  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】