辗转相除法-求gcd

最大公约数

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

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 求出a、b的最大公约数。
     * @param a int 
     * @param b int 
     * @return int
     */
    int gcd(int a, int b) {
        // write code here
        if( 0==a || 0==b )
        {
            return 0;
        }

        if( a<b )
        {
            swap(a,b);
        }

        while( 0!=(a%b) )
        {
            int temp=a%b;
            a=b;
            b=temp;
            /*下面,显然不需要
            if( a<b )
            {
                swap(a,b);
            }
            */
        }

        return b;
    }
};
二次训练STL 文章被收录于专栏

这是一个分类专栏,仅做快速记录

全部评论

相关推荐

牛客263158796号:我领羊一面后十天不挂也不推进 今天问hr说等前序的第一批意向发完看情况再看是否推进
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务