최대공약수, 최소공배수
ArithmeticException 예외적인 산술 조건이 발생할때
class Solution {
public int[] solution(int n, int m) {
int[] answer = new int[2];
int tmpN = n;
int tmpM = m;
//최대공약수
while(true){
if(m%n==0) {
answer[0] = n;
break;
}
m = n;
n = m%n;
}
//최소공배수
answer[1] = tmpN*tmpM/answer[0];
return answer;
}
}
java.lang.ArithmeticException: / by zero
정수 0으로 나누었을 때 나타나는 에러
m%n에서 에러가 난 것 같아서 따로 변수를 선언해주자 성공!
수정 후
class Solution {
public int[] solution(int n, int m) {
int[] answer = new int[2];
int tmpN = n;
int tmpM = m;
//최대공약수
while(true){
int c = m%n;
if(c==0) {
answer[0] = n;
break;
}
m = n;
n = c;
}
//최소공배수
answer[1] = tmpN*tmpM/answer[0];
return answer;
}
}
Author And Source
이 문제에 관하여(최대공약수, 최소공배수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ppnrn/최대공약수-최소공배수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)