算法系列——最大公约数
Posted BridgeGeorge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法系列——最大公约数相关的知识,希望对你有一定的参考价值。
题目
如果有一个自然数 a 能被自然数 b 整除,则称 a 为 b 的倍数, b 为 a 的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。
输入 a 和 b , 请返回 a 和 b 的最大公约数。
进阶:空间复杂度 O(1)O(1),时间复杂度 O(logn)O(logn)
解答
辗转相除法。
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;
return gcd(a,a%b);
以上是关于算法系列——最大公约数的主要内容,如果未能解决你的问题,请参考以下文章