程序分析:利用辗除法。
最大公约数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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);
}
}
|
最小公倍数和最大公约数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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
{
//取得输入值
//Scanner chin = new Scanner(System.in);
//int a = chin.nextInt(), b = chin.nextInt();
int a= 23 ; int b= 32 ;
int c = gcd(a, b);
System.out.println( "最小公倍数:" + a * b / c + "\n最大公约数:" + c);
}
}
|
大家可以参考服务器之家以前发布的文章。