GCD(Great Common Divisor)的欧几里得算法

简介:
编号:1

C版本:
#include <stdio.h>

long gcd( long a, long b) {
    long rem=0;
    
    while(b!=0)    {
        rem=a%b;
        a=b;
        b=rem;
    }

    return a;
}


int main() {
    
    long a=0,b=0;
    
    scanf("%ld,%ld",&a,&b);    
    printf("The greatest common divisor of the two is : %ld",gcd(a,b));
    
    return 0;
}




Java版本:
package problem1;

import java.io.*;

public  class Main  {

    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    System.in));

            long a = Integer.parseInt(reader.readLine());
            long b = Integer.parseInt(reader.readLine());
            System.out.println("The greatest common divisor of the two is "
                    + gcd(a, b));
        }
 catch (Exception e) {
            System.out.println(e);
        }

    }


    private static long gcd(long a, long b) {
        while (b != 0) {
            long rem = a % b;
            a = b;
            b = rem;
        }

        return a;
    }

}

本文转自冬冬博客园博客,原文链接:http://www.cnblogs.com/yuandong/archive/2006/06/25/435221.html ,如需转载请自行联系原作者
相关文章
|
6月前
【刷题记录】最大公因数,最小公倍数(辗转相除法、欧几里得算法)
【刷题记录】最大公因数,最小公倍数(辗转相除法、欧几里得算法)
|
9月前
|
算法 数据安全/隐私保护
什么是扩展欧几里得算法?
【5月更文挑战第13天】什么是扩展欧几里得算法?
147 3
|
9月前
|
算法 Python
Python欧几里得算法找最大公约数
Python欧几里得算法找最大公约数
94 0
|
9月前
|
算法 搜索推荐 程序员
C语言第二十二练——扩展欧几里得算法
C语言第二十二练——扩展欧几里得算法
80 0
P4057 [Code+#1]晨跑(数学分析,辗转相除法模板(欧几里得算法))
P4057 [Code+#1]晨跑(数学分析,辗转相除法模板(欧几里得算法))
86 0
|
算法 Java
欧几里得算法(GCD, 辗转相除法)
欧几里得算法(GCD, 辗转相除法)
|
算法 搜索推荐 程序员
欧几里得算法
欧几里得算法(Euclidean algorithm)是一种计算两个数的最大公约数(Greatest Common Divisor,简称 GCD)的算法。欧几里得算法的基本思想是通过辗转相除的方式,将两个数逐步缩小,直到它们的公约数为止。欧几里得算法的时间复杂度为 O(log n)。
277 1
宝藏例题(欧几里得算法+素数的三种境界………)
宝藏例题(欧几里得算法+素数的三种境界………)
宝藏例题(欧几里得算法+素数的三种境界………)
数论整理之欧几里得算法gcd
数论整理之欧几里得算法gcd
127 0
|
存储 算法 搜索推荐
Jave 关于部分Math类和欧几里得算法
Jave 关于部分Math类和欧几里得算法

热门文章

最新文章