본문 바로가기
java&eclipse 코딩 알고리즘/20231205

EuclideanAlgorithm

by 몽상크리에이터 2023. 12. 14.

package k20231205;

 

import java.util.Scanner;

 

public class EuclideanAlgorithm {

 

public static void main(String[] args) {

 

Scanner scanner = new Scanner(System.in);

// 최대공약수, 최소공배수 판단할 숫자 2개를 입력한다

System.out.println("숫자 2개를 입력하세요: ");

int a = scanner.nextInt();

int b = scanner.nextInt();

 

// 입력받은 숫자 대소구분

int big;

int small;

if (a>=b) {

big=a;

small=b;

} else {

big=b;

small=a;

}

System.out.printf("큰 수: %d, 작은 수 : %d\n", big, small);

// 입력받을 숫자의 크기에 따라서 나눗셈 연산을 실행하는 횟수가 다르므로 무한 루프를 돌려서 처리한다

while (true) {

// 큰 수를 작은 수 로 나눈 나머지를 계산한다.

int r = big % small;

 

// 나머지가 0이면 무한루프를 탈출한다

if (r==0) {

break;

}

// 나머지가 0이 아니면 큰 수를 기억하던 기억장소에 작은 수 를 넣어주고 작은 수를 기억하던 기억장소에 나머지를 넣어준다

big = small;

small = r;

}

// 최대공약수, 최소공배수를 출력한다.

System.out.printf("최대공약수: %d, 최소공배수: %d\n", small, a*b/small);

}

}

'java&eclipse 코딩 알고리즘 > 20231205' 카테고리의 다른 글

MenuTest  (0) 2023.12.14
EuclideanAlgorithm2  (0) 2023.12.14
ConvertTest4 Self  (0) 2023.12.14
ConvertTest3  (0) 2023.12.14
ConvertTest2  (0) 2023.12.14