算法设计与分析基础-绪论

本文介绍了算法设计与分析的基础知识,重点讲解了欧几里得算法在求解两个整数最大公约数中的应用。通过实例展示了gcd(m,n)=gcd(n,m mod n)的证明,并探讨了不同算法的效率,如连续整数检测算法和质因数分解法。此外,还提及了算法在解决其他问题上的应用,如计算平方根和寻找有序列表的公共元素。" 108353855,7633017,Hive与Spark集成配置指南,"['Hive', 'Spark', 'MapReduce', 'Yarn', '大数据']
摘要由CSDN通过智能技术生成

@[toc]目录

1 绪论

1.1 什么是算法

两个整数最大公约数

m , n m,n m,n的最大公约数记为 g c d ( m , n ) gcd(m,n) gcd(m,n),其中 m , n ≥ 0 m,n \geq 0 m,n0但 不同时为0。

  1. 利用欧几里得算法计算即 g c d ( m , n ) = g c d ( n , m   m o d   n ) gcd(m,n) = gcd(n,m \, mod \, n) gcd(m,n)=gcd(n,mmodn) g c d ( m , 0 ) = m , m ≠ 0 gcd(m,0) = m,m \neq 0 gcd(m,0)=m,m̸=0.

    def euclid(m,n):
        if not m and not n:
            return False
        if m<n:
           r = m
           m = n
           n = r
        while n:
            r = m%n
            m = n
            n = r
        return m
    
  2. 利用连续整数检测算法

    公约数即能够同时整除两个数的正整数。

    def continue_detection(m,n):
        if not m and not n:
            return False
        if not m or not n:
            return m|n
        
        t = min(m,n)
        while t:
            if not m%t and not n%t:
                return t
            t = t - 1
    
  3. 质因数分解

    1. 分别求得 m , n m,n m,n所有质因数
    2. 求出所有公因数,若一个质因数 p p p m , n m,n m,n中分别出现 p m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值