공개 클래스 ProOne {
// 주제:두 개의 양의 정수 m과 n을 입력하고, 이들의 최대공약분모와 최소공배수를 구합니다.
// 프로그램 분석:롤링 나눗셈을 사용합니다.
공개 정적 void main(String[] args)
{
int m=0, n=0, m1=0, n 1 = 0;
int a;
Scanner scanner = new scanner(system . in);
System.out.println("m: 값을 입력하세요.");
m = scanner . nextint();
System.out.println("n: 값을 입력하세요.");
n = scanner . nextint();
//입력된 m과 n 값을 백업합니다;
m 1 = m;
n 1 = n;
//두 숫자의 나머지 나눗셈을 구합니다;
a = m % n;
그리고 (a != 0)
{
m 1 = n 1; n 1 = a; a = m 1% n 1;
}
System. println(" m, n의 최대공약수는 "+ n 1 ");
// 두 수의 최소공배수를 구하는 방법은:(두 수의 곱)/(두 수의 최대공약수);
System. println(" m과 n의 최소공배수는 : "+m * n/n 1");
}
}
방법 2:
공개 클래스 test{
Public static void main(String[] args) {
System.out.println (Gong Yue (10, 12));
}
// n의 계승을 반복
public static int method(int n) {
if (n == 1) {
Returns 1;
n을 반환합니다;
Otherwise {
Returns n * method(n-1);
}
}
///m과 n의 최대공약수를 구합니다
public static int Gong Yue (int m, int n) {
while (m % n! = 0) {
int temp = m % n;
m = n;
n = temp;
}
Return n을 반환합니다;
}
// m과 n의 최소공배수를 구합니다.
공개 정적 int arch(int m, int n) {
Return m * n / Gong Yue (m, n);
}
}