微信扫一扫

028-83195727 , 15928970361
business@forhy.com

华为机试题【5】-最大公约数

华为,公约数,机试,面试2016-07-06

题目描述:

输入2个数字,最后输出2个数字的最大公约数

思路分析:

  • 首先这个题目是有技巧的,利用下面代码中的求余
    -注意检查a,b是《=0的情况

注意:

  • 首先注意输入法的一致,不然编译报错
  • 注意在mian中调用的工具方法,声明位静态方法

代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
    while(scan.hasNext()){
        int a1 = scan.nextInt();
        int a2 = scan.nextInt();
        if(a1 <= 0|| a2 <= 0){
            return;
        }
        System.out.println(getMax(a1,a2));
    }       
    }
   //求两个数字的最大公约数
    public static int getMax(int a,int b){
        int temp = 0;
        while(a != 0){
            temp = a;
            a = b % a;
            b = temp;
        }
        return b;
    }
}

我的微信二维码如下,欢迎交流讨论

欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下: