资讯专栏INFORMATION COLUMN

简单数学运算程序(不定期更新)

levius / 2145人阅读

摘要:用于收集一些常用数学运算的程序以备不时之需。幂运算最大公约数所谓辗转相除法,不明白的可以举例看看。最小公倍数整型近似整数平方根巧妙利用除法进行判断避免溢出。

用于收集一些常用数学运算的程序以备不时之需。

1. myPow(x,n) 幂运算
public class Solution {
    
    private double pow(double x, int n){
        if(n == 0) return 1;
        double v = pow(x,n/2);
        if(n%2 == 0)
            return v*v;
        else
            return v*v*x;
    }
    
    public double myPow(double x, int n) {
        return n < 0 ? 1/pow(x,-n) : pow(x,n);
    }
}
2. greatest common divisor 最大公约数
public double GCD(double m, double n){
    //所谓辗转相除法,不明白的可以举例看看。
    while(m%n != 0){
        double temp = n;
        n = m%n;
        m=temp;
    }
    return n;
}
3. least common multiple 最小公倍数
public double LCM(double m,double n){
    return m*n/GCD(m,n);
}
4. Square root 整型近似整数平方根
public class Solution {
    public int mySqrt(int x) {
        if(x == 0) return 0;
        long left = 1, right = Integer.MAX_VALUE;
        while(true){
            long mid = left + (right-left)/2;
            //巧妙利用除法进行判断避免溢出。
            if(mid > x/mid)
                right=mid-1;
            else{
                if(mid+1>x/(mid+1))
                    return (int)mid;
                left=mid+1;
            }
        }
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66090.html

相关文章

  • 用Python学数学之Sympy代数符号运算

    摘要:的符号运算如果之前是学数学相关专业了解计算机代数系统,就会对数学符号的运算比较熟悉,而如果之前是程序员,可能会有点不太明白,下面我们就来了解一下。 在我们初、高中和大学近10年的学习时间里,数学一直占据着非常大的分量,但是回忆过去可以发现,我们把大量的时间都花在反复解题、不断运算上,计算方法、运算技巧、笔算能力以及数学公式的记忆仿佛成了我们学习数学的全部。这些记忆和技巧没几年就忘掉了,...

    Jackwoo 评论0 收藏0
  • JS魔法堂:彻底理解0.1 + 0.2 === 0.30000000000000004的背后

    摘要:也就是说不仅是会产生这种问题,只要是采用的浮点数编码方式来表示浮点数时,则会产生这类问题。到这里我们都理解只要采取的浮点数编码的语言均会出现上述问题,只是它们的标准类库已经为我们提供了解决方案而已。 Brief 一天有个朋友问我JS中计算0.7 * 180怎么会等于125.99999999998,坑也太多了吧!那时我猜测是二进制表示数值时发生round-off error所导致,但并不...

    JerryWangSAP 评论0 收藏0
  • 什么是 Python 编程语言?

    摘要:由设计,作为编程语言的继承者,于年首次发布。表达式表达式是编程语言中的语法实体,可以对其进行评估以确定其值。它是编程语言解释和计算以产生值的常量变量函数和运算符的组合。它在年年年和年被评为年度编程语言,是唯一四次获得该奖项的语言。 ...

    1treeS 评论0 收藏0
  • 什么是编程的基本功?

    摘要:正是前人的努力,我们现在的编程才会如此的容易。读懂他人代码算法如果别人是大牛,数学学得很好,很多数学公式,很多递归,如果自己没有一定的数学基础,可能就晕了,这个时候,数学的基本功可能就会在这里发挥作用了。 作者:caoglish原文链接:http://t.cn/RKcyGX3来源:知乎 查询和阅读文档能力 原因:你使用编程来解决问题的时候,基本上最终的东西是代码,但是编程的知识太广,总...

    Acceml 评论0 收藏0
  • 什么是编程的基本功?

    摘要:正是前人的努力,我们现在的编程才会如此的容易。读懂他人代码算法如果别人是大牛,数学学得很好,很多数学公式,很多递归,如果自己没有一定的数学基础,可能就晕了,这个时候,数学的基本功可能就会在这里发挥作用了。 作者:caoglish原文链接:http://t.cn/RKcyGX3来源:知乎 查询和阅读文档能力 原因:你使用编程来解决问题的时候,基本上最终的东西是代码,但是编程的知识太广,总...

    lansheng228 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<