Algorithm/문제 풀이 / / 2019. 6. 25. 20:45

[JAVA]최대공약수와 최소공배수 - 프로그래머스

반응형

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
  public int[] solution(int n, int m) {
      int[] answer = new int[2];        // 최대 공약수, 최소 공배수를 담을 배열
      int tmp1,tmp2;                    // n,m을 담을 변수
      int r=1;                          // 큰수를 작은수로 나눈 나머지
                                        // 반복문의 조건을 위해 초기값1
      if(n>m){                          // 큰 수를 찾는 조건
          tmp1 = n;                     // 큰수
          tmp2 = m;                     // 작은수
      }else{                            // 반대의 경우
          tmp1 = m;                     // 큰수
          tmp2 = n;                     // 작은수
      }
      
      while(r>0){                       // 나머지가 0이상일때까지
          r=tmp1%tmp2;                  //큰수 나누기 작은수의 나머지
          tmp1 = tmp2;                  //큰수에 작은수 대입
          tmp2 = r;                     //작은수에 나머지 대입
      }
      answer[0]= tmp1;                  // 최대 공약수
      answer[1]=n*m/tmp1;               // 최소 공배수
      return answer;
  }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유