最大公约数

三种方法:

第一种:辗转相除法:

	public static long gcd(long a,long b)
	{
		if(b==0)
			return a;
		if(a<0)
			return gcd(-a,b);
		if(b<0)
			return gcd(a,-b);
		return gcd(b,a%b);
	}
第二种方法:

	public static long gcd(long a,long b)
	{
		if(b==0)
			return a;
		if(a<b)
			return gcd(b,a);
		return gcd(a-b,b);
	}
第三种方法:主要还是要找规律,而且复杂度较低感兴趣的可以参看(编程之美,最大公约数问题)


阅读更多
文章标签: gcd java
上一篇精确表达浮点数
下一篇寻找数组中的最大值和最小值
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭