习题——Java最大公约数(俩种方法)

Java求最大公约数

1.辗转相除法

import java.util.Scanner;
public class TestDemo1 {
    
    
    public static void main(String[] args) {
    
    
        Scanner scan = new Scanner(System.in);
        //最大公约数()辗转相除法
        int a = scan.nextInt();
        int b = scan.nextInt();

        while(b != 0){
    
    
            int tmp = a % b;
            a = b;
            b = tmp;
        }
        System.out.println(a);
    }
 }

2.程序思想方法

  • 隐藏信息,最大公约数肯定小于等于俩个数字中最小的那个数
import java.util.Scanner;
public class TestDemo1 {
    
    
    public static void main(String[] args) {
    
    
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();

        int min = a > b ? b : a;
        for(int i = min;i > 0;i--){
    
    
            if(a % min == 0 && b % min == 0){
    
    
                break;
            }
            min--;
        }
        System.out.println(min);
    }
    }

猜你喜欢

转载自blog.csdn.net/qq_45665172/article/details/111190346