Algorithms - 最大公约数(greatest common divisor)-欧几里得(Euclid) 算法 及 代码

最大公约数(greatest common divisor)-欧几里得(Euclid) 算法


本文地址:http://blog.csdn.net/caroline_wendy/article/details/17012455


最大公约数(欧几里得算法(Euclid's Algorithm))是比较经典的算法;

主要方法: 递归相除, 求余数, 直至余数为0, 返回最后一个除数, 即可; 这样, 最早的两个数, 就都包含此除数;

此算法不需要指定大小顺序, 当顺序相反时, 第二次的余数就是较大的数;

代码如下:

/*
 * algorithms.java
 *
 *  Created on: 2013.11.28
 *      Author: Spike
 */

/*eclipse kepler, javase-1.7*/

public class algorithms {
	//最大公约数
	public static int gcd (int p, int q)
	{
		if (q == 0) return p;
		int r = p % q;
		return gcd(q, r);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int res = gcd(42, 70);
		System.out.println("Hei, the gcd is " + res + ". ");
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值