요르딩딩

최대공약수, 최소공배수 본문

[코딩테스트]/이론

최대공약수, 최소공배수

요르딩딩 2022. 4. 11. 18:40
728x90
반응형

구현

//최대공약수, 최소공배수 구하기 : 유클리드 호제법
long gcd=0;
long min = a < b ? a : b; //작은 수 기준

for(int i=1; i <= min; i ++) {
    if(a % i ==0 && b % i ==0) { //둘다 나누어 떨어져야함
        gcd = i;
    }
}

System.out.println( "최대공약수 :" + gcd);
System.out.println( "최소공배수 :" + (a * b) / gcd);

 

BigInteger 내장함수 사용

import java.math.BigInteger;

//최대공약수
long gcd = BigInteger.valueOf(a).gcd(BigInteger.valueOf(b)).longValue();

//최소공배수
long lcm = (a * b) / gcd
728x90
반응형

'[코딩테스트] > 이론' 카테고리의 다른 글

순열과 조합  (0) 2022.04.11
다이나믹 프로그래밍  (0) 2022.02.22
Chapter 9. 최단경로  (0) 2022.02.14
CHAPTER 3. DFS/BFS  (0) 2022.02.10
CHAPTER 4. 정렬  (0) 2022.02.03
Comments