题解 | #最大公约数#

最大公约数

http://www.nowcoder.com/practice/cf4091ca75ca47958182dae85369c82c

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 求出a、b的最大公约数。
     * @param a int 
     * @param b int 
     * @return int
     */
    public int gcd (int a, int b) {
        // write code here
//         if(a %  b == 0){
//             return b;
//         }
//         if(b % a == 0 ){
//             return a;
//         }
//         int c = 1;
//         int min = a;
//         if(b < a){
//             min = b;
//         }
//         for (int i = 2;i<= min;i++){
//             if(a % c == 0 && b % i == 0 ){
//                 c = i;
//             }
//         }
//         return c;
         //方法二  看做 一个矩形 
        if(a < b){
            a = a ^ b;
            b = a ^ b;
            a = a ^ b;
        }
        if(a % b == 0){
            return b;
        }else{
            return gcd(b, a % b);
        }
        
    }
}
全部评论

相关推荐

jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务