java打印最大公约数

从键盘上获取两个数,然后打印最大公约数,其中计算最大公约数的部分用方法写出

import java.util.Scanner;

public class Main {

    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        int a = s.nextInt();
        int b = s.nextInt();
        System.out.print("gcd="+get_gcd(a,b));
    }
    public static int get_gcd(int a, int b) {
        int max, min;
        max = (a > b) ? a : b;
        min = (a < b) ? a : b;

        if (max % min != 0) {
            return get_gcd(min, max % min); }
            else
                return min;
                /*i love zhangyan*/

        }
}

定义了一个返回值类型为int 的方法get_gcd()
其中

if (max % min != 0) {
            return get_gcd(min, max % min); }
            else
                return min;

部分中使用了递归,即程序调用自身,最终返回值就是最大公约数。

猜你喜欢

转载自blog.csdn.net/m0_37160376/article/details/80278162