读《算法 第四版》算法1--欧几里得算法

1.欧几里得算法
-自然语言描述:
计算两个非负整数 p 和 q 的最大公约数:若
q 是 0,则最大公约数为 p。否则,将 p 除以
q 得到余数 r,p 和 q 的最大公约数即为 q 和
r 的最大公约数。
-Java语言描述:

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

-验证代码:

import java.util.Scanner;  
class TestGCD {
    //欧几里得算法
    private static int gcd(int a, int b){
        if (b==0) return a;
        return a%b == 0 ? b : gcd(b,a%b);
    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int x = TestGCD.gcd(in.nextInt(),in.nextInt());
        System.out.println("最大公约数是"+x);
    }
}

-运行
命令行cd到Java文件目录,执行javac -encoding -utf-8 xxx.java 然后执行java xxx.

你可能感兴趣的:(读《算法 第四版》算法1--欧几里得算法)