최대공약수와 최소공배수 Level 1 #유클리드 호제법

2018. 5. 6. 05:20·프로그래밍/알고리즘(자바)
최대공약수와 최소공배수 Level 1


# 유클리드 호제법

https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95


class TryHelloWorld {
    public int[] gcdlcm(int a, int b) {
        int a_ , b_ , temp;
        //LCM = A*B / GCD
        //GCD = A'* B'
        //A = A'* GCD
        //B = B'* GCD
        if(a<b){
          temp = a;
          a = b;
          b = temp;
        }
          a_ = a; 
          b_ = b;
        while(b_!=0){
          temp = a_;
          a_ = b_;
          b_ = temp%b_;
        }
        int gcd = a_;
        int lcm = a*b/gcd;
        int[] answer = {gcd, lcm};
        return answer;
    }

    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        TryHelloWorld c = new TryHelloWorld();
        System.out.println(Arrays.toString(c.gcdlcm(84, 8)));
    }
}

temp 써야 할 줄 알았는데 안 쓰고 하는 방법이 있었다.


import java.util.Arrays;

class TryHelloWorld {
    public int[] gcdlcm(int a, int b) {
        int[] answer = new int[2];
        int ta = a, tb = b, r = 1;
        if(a < b) {
          a = tb;
          b = ta;
        }
        while(r > 0) {
          r = a % b;
          a = b;
          b = r;
        }
        answer[0] = a;
        answer[1] = ta * tb/ a;
        return answer;
    }

    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        TryHelloWorld c = new TryHelloWorld();
        System.out.println(Arrays.toString(c.gcdlcm(3, 12)));
    }
}


'프로그래밍 > 알고리즘(자바)' 카테고리의 다른 글

삼각형출력하기 Level 1  (0) 2018.05.06
수박수박수박수박수박수? Level 1 #join #replace #StringBuffer #append #String '+=' 연산  (0) 2018.05.06
가운데 글자 가져오기 Level 1 #substring #length(),length,size() 차이  (0) 2018.05.06
약수의 합 Level 1  (0) 2018.05.06
최대값과 최소값 Level 1  (0) 2018.05.06
'프로그래밍/알고리즘(자바)' 카테고리의 다른 글
  • 삼각형출력하기 Level 1
  • 수박수박수박수박수박수? Level 1 #join #replace #StringBuffer #append #String '+=' 연산
  • 가운데 글자 가져오기 Level 1 #substring #length(),length,size() 차이
  • 약수의 합 Level 1
블루풀
블루풀
  • 블루풀
    [ IT] Be Dreamer
    블루풀
  • 전체
    오늘
    어제
    • 분류 전체보기 (35)
      • 프로그래밍 (33)
        • ChatGPT Q&A (0)
        • 안드로이드 스튜디오 (1)
        • 알고리즘(자바) (23)
        • GitHub (0)
        • Front-end (2)
        • Back-end (6)
        • 개발자 Basic English (1)
      • 취업정보 (0)
      • 일상 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ListView
    admin
    여행
    emmet
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
블루풀
최대공약수와 최소공배수 Level 1 #유클리드 호제법
상단으로

티스토리툴바