21xrx.com
2024-11-22 13:26:53 Friday
登录
文章检索 我的文章 写文章
Java期末大作业:实现欧几里得算法
2023-06-15 13:46:53 深夜i     --     --
Java 欧几里得算法 最大公约数

在这个Java期末大作业中,我们将实现欧几里得算法并进行测试。欧几里得算法也称为辗转相减法,它是求最大公约数的一种方法。该算法基于下面的定理:

对于任意两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数r和b之间的最大公约数,即gcd(a,b) = gcd(b,r)。

接下来我们来看看如何用Java代码实现欧几里得算法。

代码如下:


public class Euclidean {

  public static int gcd(int a, int b) {

    if (b == 0)

      return a;

     else {

      return gcd(b, a % b);

    }

  }

  public static void main(String[] args) {

    int a = 2016;

    int b = 128;

    System.out.println("gcd(" + a + ", " + b + ") = " + gcd(a, b));

  }

}

代码解释:

我们定义了一个名为Euclidean的类。类中有一个public static方法gcd,它接收两个参数a和b,并返回它们的最大公约数。如果b等于0,则返回a,否则递归调用gcd方法,将b和a除以b的余数传入。

另外还有一个名为main的方法。在这个方法中,我们定义了两个整数a和b,然后输出它们的最大公约数。

代码测试:

现在让我们来测试一下上面的代码。将代码粘贴到一个新的Java文件中,保存并编译它。然后运行该程序,输出会显示gcd(2016, 128) = 64,即2016和128的最大公约数是64。

关键词:

Java,欧几里得算法,最大公约数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复