2つの数の最大公因子を計算する



2つの正の整数mとnを与え、それらの最大の公因子を求め、すなわちmとnの最大の正の整数を同時に除去することができる.
E1.【残数を求める】nでmを除いてrを得られた残数とする.(0<=rE2.【残りはゼロ?】r=0であればアルゴリズムが終了し、nが答えとなる.
E3.【減少】m
 
 
package com.javaeye.rsrt;

/**
 * @description           
 * @author nishiting
 * @date 2010-9-15
 */
public class CommonFactor {

	/**
	 * @param arags
	 */
	public static int result=0;
	public static void main(String[] args) {

		int a = 77;
		int b = 21;
		
		CommonFactor cf = new CommonFactor();
		cal c = cf.new cal();
		c.calculate(a, b);
		System.out.println(a + " " + b + "       :" + ((Integer)result).toString());
	}

	private class cal {

		public cal() {

		}

		public void calculate(int a, int b) {

			//   a b ,  a b  
			if (a < b) {
				int temp = a;
				a = b;
				b = temp;
			}

			if (a % b == 0) {
				result = b;
			} else {
				int r = a % b;
				a = b;
				b = r;
				calculate(a, b);
			}
		}
	}

}