Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 4659
  • 백준 16194
  • 백준 7567
  • 백준 1531
  • 백준 1747
  • 백준 8892
  • 백준 24039
  • 백준 12871
  • 백준 16926
  • 백준 2343
  • 백준 12605
  • 백준 1914
  • 백준 6550
  • 백준 10709
  • 백준 15312
  • 백준 1064
  • 백준 2591
  • 백준 2225
  • 백준 1011
  • 백준 7662
  • 백준 2467
  • 백준 15961
  • 백준 14582
  • 백준 3135
  • 자바
  • Java
  • 백준
  • 백준 15655
  • 백준 1495
  • 백준 3049
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 2609 최대공약수와 최소공배수(Java)
백준

백준 2609 최대공약수와 최소공배수(Java)

2023. 1. 14. 02:54

https://www.acmicpc.net/problem/2609

 

2609번: 최대공약수와 최소공배수

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

www.acmicpc.net


 

해석 및 팁

 


 

이 문제를 풀때 for문을 통해서도 풀수있지만 백준에서는 시간초과로 인해 틀리게 됩니다. 간단하게 푸는 방법은 BigInteger 클래스에서 사용가능한 gcd를 사용하면 됩니다. 두 수를 입력받은후 BigInteger형식으로 변경시켜주고 gcd함수를 사용한후 Int형으로 바꿔주면 최대공약수가 나오게 됩니다. 두 값의 곱은 최대공약수와 최소공배수의 곱과 같으므로 두 값의 곱에 최대공약수를 나누어주면 최소공배수가 나옵니다.

 

 


 

Java 코드

 


import java.util.Scanner;
import java.math.BigInteger;                       //BingInteger을 사용하기위해 import 해준다

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int a = sc.nextInt();
    int b = sc.nextInt();
    BigInteger a1 = BigInteger.valueOf(a);           //BigInteger타입으로 변환
    BigInteger b1 = BigInteger.valueOf(b);
    int g = a1.gcd(b1).intValue();                   //int 형으로 변환시켜준다
    int l = a * b / g;

    System.out.println(g);
    System.out.println(l);
  }
}

'백준' 카테고리의 다른 글

백준 11653 소인수분해(Java)  (0) 2023.01.14
백준 1924 2007년(Java)  (0) 2023.01.14
백준 2775 부녀회장이 될테야(Java)  (0) 2023.01.14
백준 1193 분수찾기(Java)  (0) 2023.01.13
백준 2869 달팽이는 올라가고 싶다(Java)  (0) 2023.01.13
    '백준' 카테고리의 다른 글
    • 백준 11653 소인수분해(Java)
    • 백준 1924 2007년(Java)
    • 백준 2775 부녀회장이 될테야(Java)
    • 백준 1193 분수찾기(Java)
    Park DJ
    Park DJ

    티스토리툴바