반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | package javaalgorithm; import java.util.Arrays; class TryHelloWorld { public int[] gcdlcm(int a, int b) { int[] answer = new int[2]; int tempa = a; int tempb = b; int mod = a%b; while(mod>0){ a = b; b = mod; mod = a%b; } answer[0] = b; int x,y; x = tempa/b; y = tempb/b; answer[1] = b*x*y; return answer; } // 아래는 테스트로 출력해 보기 위한 코드입니다. public static void main(String[] args) { TryHelloWorld c = new TryHelloWorld(); System.out.println(Arrays.toString(c.gcdlcm(3, 12))); } } | cs |
처음에 푼 방법이다
유클리드 호제법을 이용하여 while문을 구성해 주었다.
밑에 방법은 gcd를 구하는 함수를 따로 만들어 줘서 푼 방법이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | package javaalgorithm; import java.util.Arrays; class TryHelloWorld2 { public int[] gcdlcm(int a, int b) { int[] answer = new int[2]; answer[0] = gcd(a,b); answer[1] = a*b/answer[0]; return answer; } public int gcd(int a,int b){ if(a%b==0) return b; else return gcd(b,a%b); } // 아래는 테스트로 출력해 보기 위한 코드입니다. public static void main(String[] args) { TryHelloWorld c = new TryHelloWorld(); System.out.println(Arrays.toString(c.gcdlcm(3, 12))); } } | cs |
'자바' 카테고리의 다른 글
피보나치 수 (0) | 2016.11.19 |
---|---|
행렬의 덧셈 (0) | 2016.11.19 |
가운데 글자 가져오기 (0) | 2016.11.17 |
시저암호 (0) | 2016.11.17 |
나누어 떨어지는 숫자배열 (0) | 2016.11.14 |