求最大公约数

求最大公约数

摘自《算法》

描述

计算两个非负整数pq的最大公约数:若q是0,则最大公约数为p。否则,将p除以q得到余数rpq的最大公约数即为qr的最大公约数。

实现


public static int gcd(int q,int p){
    if(q==0) return p;
    int r= p%q;
    return gcd(q,r)
}

递归要点

  1. 总有一个最简单的情况——方法的第一条语句总是一个包含return的条件语句
  2. 递归调用总是去尝试解决一个规模更小的子问题,使得问题往最简单的情况收敛
  3. 递归调用的父问题和尝试解决的子问题之间不应该有交集
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容