Sqrt(x)

简介: 实现取平方根的方法 输入int型,返回int型 使用二分法查找,慢慢逼近结果;注意防止溢出,直接用乘法的结果去比较 1 package com.rust.cal; 2 3 public class Sqrtx { 4 /** 5 * 二分法查找 6...

实现取平方根的方法

输入int型,返回int型

使用二分法查找,慢慢逼近结果;注意防止溢出,直接用乘法的结果去比较

 1 package com.rust.cal;
 2 
 3 public class Sqrtx {
 4     /**
 5      * 二分法查找
 6      * @param x-目标值
 7      * @return x的int型平方根
 8      */
 9     public static int mySqrt(int x) {
10         double diff = 0.000001f;
11         double start = 0;
12         double end = x;
13         double mid;
14         while(end - start > diff){
15             mid = (end + start)/2;
16             if (mid * mid == x) {
17                 return (int) mid;
18             }
19             if (mid*mid > x) {
20                 end = mid;
21             } else{
22                 start = mid;
23             }
24         }
25         return (int) end;
26     }
27     public static void main(String args[]){
28         System.out.println(mySqrt(2147483647));
29         System.out.println(mySqrt(1));
30         System.out.println(mySqrt(0));
31     }
32 }

 

目录
相关文章
|
存储 安全 Shell
⭐⭐⭐【Shell 命令集合 磁盘管理 】Linux 显示当前工作目录的路径 pwd命令使用教程
⭐⭐⭐【Shell 命令集合 磁盘管理 】Linux 显示当前工作目录的路径 pwd命令使用教程
396 0
|
存储 安全 网络安全
|
12月前
|
分布式计算 Hadoop 大数据
28个大数据的高级工具汇总
文章汇总了28种大数据高级工具,并对Hadoop、Spark、Storm等关键技术进行了详细介绍,同时还提供了获取大数据集的多个资源链接。
573 0
|
存储 运维 资源调度
云资源的使用规范是什么?
【5月更文挑战第9天】云资源的使用规范是什么?
392 1
|
物联网
mqtt实现消息通知
mqtt实现消息通知
356 0
|
存储 SQL 缓存
InnoDB之UNDO LOG介绍
undo log是InnoDB事务特性的重要组成部分。当对记录做增删改操作就会产生undo记录,undo记录会记录到单独的表空间中。 本文将从代码层面对undo log进行一个简单的介绍;主要从下面四个方面来介绍undo log:undo log组织形式与分配与记录,以及undo log的应用及其清理。从这四个方面出发,我们就可以基本了解undo log的整个生命周期。
856 1
|
消息中间件 Cloud Native 安全
2021云栖大会|东方通正式加入阿里云云原生合作伙伴计划·强强联手共创国产数字化转型新风向!
近日互联网 IT 峰会中当属每年一度的“云栖大会”热度高,东方通作为核心伙伴受邀参加 2021 云栖大会,并与阿里云一起探讨中间件支撑云原生技术推动政企行业数字化转型的新方向。
2021云栖大会|东方通正式加入阿里云云原生合作伙伴计划·强强联手共创国产数字化转型新风向!
|
弹性计算 运维 Kubernetes
比心云平台基于阿里云容器服务 ACK 的弹性架构实践
本文主要探讨比心云平台如何利用阿里云容器服务 ACK,来构建应用弹性架构,进一步优化计算成本。
比心云平台基于阿里云容器服务 ACK 的弹性架构实践
|
Linux
Linux基础命令——cp和mv命令选项
拷贝文件防止覆盖使用 “cp –i” 操作 拷贝文件夹使用 “cp –r” 操作,拷贝文件夹并且文件权限不丢失使用 “cp –a” 操作。 移动文件防止覆盖使用 “mv –i” 操作 移动文件夹直接使用 “mv” 即可,“mv” 还可以给文件和文件夹重命名。
818 0
Linux基础命令——cp和mv命令选项
|
存储 Kubernetes 前端开发
appsmith 怎么用?评价如何
AppSmith 是印度一家创业公司开发的低代码开发工具,它的原型是另一家名叫 Retool 的美国的创业公司。AppSmith 从 2019 年开始开发,到现在已经发行了 1.x 版本,也就是处于正式发行状态。那么 Appsmith 到底怎么样?它的评价如何?对比卡拉云它有哪些优缺点呢?
1804 0