精华内容
下载资源
问答
  • //对5开根号后进行保留2位小数,四舍五入 System.out.println(BigDecimal.valueOf(Math.sqrt(5)).setScale(2, BigDecimal.ROUND_HALF_UP)); //对5开根号 System.out.println(“对5开根号”+Math.sqrt(5)); //3的4次方...

    public static void main(String[] args) {
    //对5开根号后进行保留2位小数,四舍五入
    System.out.println(BigDecimal.valueOf(Math.sqrt(5)).setScale(2, BigDecimal.ROUND_HALF_UP));
    //对5开根号
    System.out.println(“对5开根号”+Math.sqrt(5));
    //3的4次方计算公式
    System.out.println(“3的4次方计算公式”+Math.pow(3, 4));
    //绝对值
    System.out.println("-8的绝对值为:" + Math.abs(-8));
    //自然对数
    double e = Math.E;
    System.out.println(“e的自然对数为” + Math.log(e));
    /** Math 中的其他方法
    public static double exp(double x) //e^x
    public static double log(double x) //ln(x)
    public static double log10(double x) //log 10(x)
    public static double pow(double a,double b) //a^b
    public static double sqrt(double x) //√x
    **/
    }

    展开全文
  • java如何开根号

    千次阅读 2020-12-21 23:00:53
    展开全部JAVA凡是涉及数学的符号前面都要加MATH。class A{public static void main(){double m=4.0;...}}扩展资料:java实现根62616964757a686964616fe59b9ee7ad9431333366306436号的运算:public static ...

    展开全部

    JAVA凡是涉及数学的符号前面都要加MATH。

    class A{

    public static void main(){

    double m=4.0;

    double n=Math.sqrt(m);

    System.out.println(n);

    }

    }

    扩展资料:

    java实现开根62616964757a686964616fe59b9ee7ad9431333366306436号的运算:

    public static void main(String[] args) { long start = System.currentTimeMillis(); double

    target=9876543212345d; double result =sqrt(target);

    System.out.println("sqrt耗时:"+(System.currentTimeMillis()-start)+",result:"+result);

    start=System.currentTimeMillis();

    result =SqrtByBisection(target, 0);

    System.out.println("SqrtByBisection耗时:"+(System.currentTimeMillis()

    start)+",result:"+result);

    start=System.currentTimeMillis();

    result = SqrtByNewton(target, 0);

    System.out.println("SqrtByNewton耗时:"+(System.currentTimeMillis()

    start)+",result:"+result);

    }

    展开全文
  • java实现开根号的运算

    万次阅读 2020-04-21 22:43:37
    java实现开根号的运算 如果某个数字正好可以开根号为2个整数,例如1,4,9等,那就很简单了。 如果某个数字不可以正好开根号为2个整数,而且要保留几位精度,例如:2,3,5等,我们该怎么办呢????? 首先我们可以...

    今天我们来看一下这道题,java如何实现开根号的运算。大家都知道,java,c++,python等都有直接的函数可以给我们用,但是面试官这个时候让我们手撕源码,这个时候怎么做呢,来,不要慌!!!

    如果某个数字正好可以开根号为2个整数,例如1,4,9等,那就很简单了。

    如果某个数字不可以正好开根号为2个整数,而且要保留几位精度,例如:2,3,5等,我们该怎么办呢?????

    首先我们可以把这个数字分成整数部分和小数部分,分别计算。

    例如√5≈2.236  我们可以先算出整数部分为2,然后在根据保留几位精度,去计算小数部分。依次计算十分位、百分位和千分位等,然后把整数位+十分位+百分位+千分位+。。。,结果就是我们想要的结果了。

    来看代码

    import java.math.BigDecimal;
    
    /**
     * @Auther: liuhaidong
     * Data: 2020/4/21 0021、20:55
     * Description:
     * @version: 1.0
     */
    public class Test6 {
        public static void main(String[] args) {
            System.out.println(Math.sqrt(5));
            System.out.println(MathSqure(5, 6));
        }
        //需要开根号的数据
    	//需要保留的精度,即几位小数
        public static double MathSqure(int n, int m){
            double[] arr = new double[m];
            if(m >0){
                arr = sc(m);
            }
            int s = sq(n);
            return sb(n, s, arr);
        }
        /**
         * 计算要保留几位小数
         * @param m
         * @return
         */
        public static double[] sc(int m){
            double[] arr = new double[m];
            int num = 0;
            while(num != m){
                double f = 1;
                for(int i=0;i<=num;i++){
                    f = f*10;
                }
                arr[num] = 1/f;
                num++;
            }
            return arr;
        }
        /**
         * 计算整数位
         * @param n
         * @return
         */
        public static int sq(int n){
            if( n == 1){
                return 1;
            }
            int tmp = 0;
            for(int i=1;i<=n/2+1;i++){
                if(i*i == n){
                    tmp = i;
                    break;
                }
                if(i*i > n){
                    tmp = i-1;
                    break;
                }
            }
            return tmp;
        }
    
    
    
        /**
         * 开根号
         * @param n
         * @param j
         * @param arr
         * @return
         */
        public static double sb(int n, double j, double[] arr){
            double tmp = j;
            for(int p=0;p<arr.length;p++){
                if(p>0){
                    j = tmp;//计算过后的值(整数位+小数位的和,赋值给j,下面继续运算)
                }
                for(int i=1;i<=9;i++){//小数位只有九位{0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}
                    tmp = i*arr[p]+j;//i*arr[p],相当于每次加0.1,0.2 ...
                    if(tmp*tmp == n){
                        return tmp;
                    }
                    if(tmp*tmp >n){
                        //避免丢失精度
                        BigDecimal c1 = new BigDecimal(Double.toString(tmp));
                        BigDecimal c2 = new BigDecimal(Double.toString(arr[p]));
                        tmp = c1.subtract(c2).doubleValue();
                        break;
                    }
                }
            }
            return tmp;
        }
    }
    

    思路继续讲解。

    小于2.3 

    把2.2记录在这里 

     

    小于2.24

    记录2.23

     依次这样做。

    本公众号分享自己从程序员小白到经历春招秋招斩获10几个offer的面试笔试经验,其中包括【Java】、【操作系统】、【计算机网络】、【设计模式】、【数据结构与算法】、【大厂面经】、【数据库】期待你加入!!!

    1.计算机网络----三次握手四次挥手
    2.梦想成真-----项目自我介绍
    3.你们要的设计模式来了
    4.震惊!来看《这份程序员面试手册》!!!
    5.一字一句教你面试“个人简介”
    6.接近30场面试分享
    7.你们要的免费书来了

    展开全文
  • java实现开根号

    2021-03-08 10:16:54
    主要思路 通过牛顿迭代法计算平方根。来吧,还是看代码ba.. privatestaticdoublesqrt(doublec){if(c<0)returnDouble.NaN;doublejingdu=1e-15;doublet=c;while(Math.abs(c-t*t)>...t=(c/t+t)/...

    主要思路

    通过牛顿迭代法计算平方根。来吧,还是看代码ba..

        private static double sqrt(double c) {        if (c < 0)            return Double.NaN;        double jingdu = 1e-15;        double t = c;        while (Math.abs(c - t * t) > jingdu)
                t = (c / t + t) / 2.0;// 迭代公式
            return t;
        }12345678910

    改进算法。。。

        public static double sqrt(double m) {        double i = 0;        int k = 0;        while ((i * i) <= m)
                i += 0.1;        for (int j = 0; j < 10; j++) {
                i = (m / i + i) / 2;
            }        return i;
        }12345678910

     

    •  

    展开全文
  • 使用Java自己实现开根号运算,网上也有不少代码,多数都使用String或者数组。这里写一段只使用double基础数据类型实现的方法。private static double sqrt(int n, int p) {double lower = 0;while (lower * lower &...
  • Java实现开根号

    千次阅读 2018-09-30 02:21:47
    Java实现开根号 二分法 static float sqr(float x){ float max = x; float min = 0; float mid=(min+max)/2; while (true){ if (Math.abs(x-mid*mid)&amp;lt;0.002) return mid;...
  • java里实现开根号

    千次阅读 2021-02-26 10:26:28
    java里实现开根号[2021-02-03 08:57:13]简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐...
  • Java利用二分法开根号

    2020-11-04 16:05:21
    Java利用二分法开根号 package com.sankuai.ead.urm.dao.ext; /** * 利用二分法开根号 */ public class Test { static double r; public static void sqrt(double number) { process(number, 0, number); } ...
  • java实现开根号算法

    千次阅读 2018-05-03 00:04:00
    public static void main(String[] args) { long start = System.currentTimeMillis(); double target=9876543212345d; double result =sqrt(target); System.out.printl...
  • java中如何对一个数开根号

    千次阅读 2021-01-21 17:45:40
    Math.sqrt()
  • public static double SqrtByNewton(double target,double eps){ double Xa=target,Xb; do { Xb = Xa; Xa = (Xa+target/Xa)/2; } while (fabsf(Xa,Xb)>eps); return Xa; }
  • java大数开根号问题

    千次阅读 2017-11-05 10:17:04
    import java.util.*; import java.math.*; public class Main{ static BigInteger cal(BigInteger x){ BigInteger l = BigInteger.ONE ; BigInteger r = x ; BigInteger temp = BigInte
  • 需求:在不借助系统库的情况下,编写一个函数,实现开根号的操作,并且保证一定的精度 代码采用了牛顿迭代法以及二分查找法两种方式并分别打印了他们的循环次数以比较优劣: /** * 实现一个函数,完成对v开根号的...
  • 原理是二分法不断迭代: 取max为指定值target,min为1,精度要求m;取min和max的中点mid,当midmid>target,把max设定为mid;当midmid<target,把min设定为mid。然后max和min求出新的中间 newMin。...
  • package classifier; public class getSqrt { public static void main(String[] args){ double a = 15; System.out.println(Math.sqrt(a)); System.out.println(Math.floor(Math.sqr...
  • Java-求根号n(示例代码)

    千次阅读 2021-02-26 13:57:00
    平方,开根号java中是很简单的,Math.sqrt(double n)或者 Math.pow(double a, double b),求a的b次方。但是我们可以自己想想,这些方法到底是怎么实现的。就拿开根号来解释,它有两种方法,二分法和牛顿迭代法。...
  • 出处:http://www.fengchang.cc/post/129读《西方哲学史》古希腊早期数学与天文学一章,看到一个有趣的求解根号2的方法,之前未曾见过。思路如下:构造一个数对序列,初始值为(1,1),然后对该数对依照如下规则进行...
  • java如和开根号

    2020-12-23 22:19:09
    展开全部JAVA凡是涉及数学的符号前面都要加MATH。class A{public static void main(){double m=4.0;...}}扩展资料:java实现开根号的运算:e5a48de588b662616964757a686964616f31333366306436public static ...
  • importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Mainmain=newMain();doublen=sc.nextDouble();intm=sc.nextInt();System.out.printl...
  • java 不用内置函数开根号

    千次阅读 2016-08-20 16:47:22
    如题,刚开始用循环直接求了根号,后来模拟了内置函数sqrt求取 主要使用二分法,均已经运行可以出结果 直接上代码: 第一个: package test; import java.util.Scanner; public class xy { public static ...
  • java根号平方

    万次阅读 2017-10-19 15:23:38
    这里提供带根号平方方法 //平方,数组第一个放平方根前面的系数,第二个放根号里面无法开方的数 public static int[] mySqrt(int n) { int ints[]=new int[2]; for(int i=(int)Math.sqrt(n
  • 如何在Java中计算平方根和平方根?

    千次阅读 2020-12-24 01:57:38
    最受欢迎的Java面试问题之一是,“给定一个整数x,编写一个Java程序来找到它的平方根”。解决这个问题有很多方法。在本文中,让我们看看在Java中查找平方根和平方根的不同方法。最受欢迎的Java面试问题之一是,...
  • 展开全部java中对于大数BigInteger,BigDecimal开根号没有提供函数,可以参考以下实现方法:import java.math.BigDecimal;import java.math.BigInteger;public class BigSquareRoot {final static BigInteger HUNDRED...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,699
精华内容 1,879
关键字:

java开根号

java 订阅
友情链接: pwmdianjitiaosu.rar