liu824501925 发表于 2013-1-26 16:21:46

JAVA经典算法六题

【程序6】   题目:输入两个正整数m和n,求其最大公约数和最小公倍数。   
1.程序分析:利用辗除法。   
最大公约数:
public class CommonDivisor{    public static void main(String args[])    {      commonDivisor(24,32);    }    static int commonDivisor(int M, int N)    {      if(N<0||M<0)      {            System.out.println("ERROR!");            return -1;      }      if(N==0)      {            System.out.println("the biggest common divisor is :"+M);            return M;      }      return commonDivisor(N,M%N);    }}
最小公倍数和最大公约数:
import java.util.Scanner; public class CandC { //下面的方法是求出最大公约数public static int gcd(int m, int n) { while (true) { if ((m = m % n) == 0) return n; if ((n = n % m) == 0) return m; } } public static void main(String args[]) throws Exception { int a=23; int b=32;int c = gcd(a, b); System.out.println("最小公倍数:" + a * b / c + "\n最大公约数:" + c); } }
页: [1]
查看完整版本: JAVA经典算法六题