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 }

 

目录
相关文章
|
3月前
使用 pow() 函数
【10月更文挑战第23天】使用 pow() 函数。
38 2
|
7月前
|
监控 安全 测试技术
BIFFI 494POW5034 with 494POW5033 模块
Biffi 拥有60多年的经验,在可靠、安全的执行和控制解决方案方面处于领先地位,可满足石油和天然气、电力、加工和水行业对阀门自动化的苛刻要求。我们专注于先进的技术,实现了用于控制和监测的智能系统,提供标准和定制解决方案,以最大限度地提高工厂生产率、减少停机时间,并确保在安全环境下的高性能。产品均为顶级产品,在意大利设计和制造,经过严格的可靠性和耐用性测试。Biffi&#39 的生命周期服务计划可确保工厂安全、稳定、经济地运行,提高资产可靠性。我们的全球支持网络可提供快速、专业的协助,包括通过 Biffi 执行学院进行培训。依靠我们的SIL级产品和智能控制装置,可在极端条件下实现最佳性能。
|
Serverless C++
C++中的 sqrt、sqrtl 和 sqrtf
C++库中有多种函数可用于计算数字的平方根。最突出的是使用 sqrt。它以双重作为论据。 header 定义了另外两个内置函数,用于计算一个数字(sqrt 除外)的平方根,该数字的参数类型为float和long double。因此,用于计算C++平方根的所有函数都是:
580 0
零基础VB教程061期:常用数学函数第一节 弧度/ abs/sin/cos/tan/atn/exp/log等
零基础VB教程061期:常用数学函数第一节 弧度/ abs/sin/cos/tan/atn/exp/log等
178 0
|
Python
LeetCode 69. Sqrt(x)
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
149 0
|
vr&ar
Vega prime
Vega prime
215 0
Vega prime
Math.pow()
Math.pow()
92 0
Math.ceil()
Math.ceil()
175 0
4.2、Math数学对象(floor、random、sqrt、pow、abs)
4.2、Math数学对象(floor、random、sqrt、pow、abs)
209 0
|
算法 计算机视觉
每日一面 - sqrt (2)约等于 1.414,如何求sqrt (2)小数点后 10 位
每日一面 - sqrt (2)约等于 1.414,如何求sqrt (2)小数点后 10 位