查找两个数的最大公约数——欧几里得算法

Posted 给我一个团队,干翻TX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找两个数的最大公约数——欧几里得算法相关的知识,希望对你有一定的参考价值。

欧几里得算法:

      百度百科:欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。

代码实现如下:

import java.util.Scanner;

public class Main 
{
    public static void main(String[] args)
    {
        //这里输入的a,b均是大于0的。
        Scanner cin = new Scanner(System.in);
        while(cin.hasNext())
        {
            int a = cin.nextInt();
            int b = cin.nextInt();
            int c = Math.min(a, b);
            a = Math.max(a, b);
            b = c;
            while(b != 0)
            {
                c = a%b;
                a = b;
                b = c;
            }
            System.out.println(a);
        }
    }
}

 

以上是关于查找两个数的最大公约数——欧几里得算法的主要内容,如果未能解决你的问题,请参考以下文章

求两个数的最大公因数

求最大公约数伪代码

最大公约数-----欧几里得算法

c语言求两个数的最大公因数(穷举法,欧几里得算法,递归)

辗转相除法求最大公约数c语言代码

欧几里得算法