前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >欧几里得算法(辗转相除法)

欧几里得算法(辗转相除法)

作者头像
mwangblog
发布2018-08-02 15:52:46
1.1K0
发布2018-08-02 15:52:46
举报
文章被收录于专栏:mwangblogmwangblog

介绍

欧几里得算法,又称辗转相除法,用于计算两个整数的最大公约数。

原理

下面通过一个例子介绍其原理:计算105和24的最大公约数:

105 = 24 x 4 + 9 24 = 9 * 2 + 6 9 = 6 * 1 + 3 6 = 3 * 2 + 0

当余数为0时,可得到最大公约数。105和24的最大公约数是3.

代码实现

递归版本:

代码语言:javascript
复制
public static int gcd (int p, int q) {
    if (q == 0)     return p;
    else            return gcd (q, p%q);}

循环版本:

代码语言:javascript
复制
public static int gcdLoop (int p, int q) {
    while (q != 0) {
        int rem = p % q;
        p = q;
        q = rem;
    }
    return p;}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原理
  • 代码实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档