5086번 - 배수와 약수
이 코드가 (division by zero) 가 뜨는 것의 이유는
만약 a는 아무 숫자, b는 0일 때
첫 번째 if문의 a % b == a 연산을 하다가 (b가 0인데 나누려고해서)그런 문제가 생긴 것으로 이해했습니다.
그렇다면 그 아래에 주석으로 되어있는 식도 문제가 되는 거 아닌가요?
if (x == 0 && y == 0) { break; } if (y % x == 0) {
else if (x % y == 0) {
이 부분 보면 x가 0이고 y가 0이 아닐 때
첫 번째 if 문에서 0으로 나누는 꼴이 되기에 이것도 런타임에러가 떠야하는 거 아닌가요?
이 문제에서 자연수는 1 이상인 것으로 생각됩니다.
마지막 줄에 있는 0 0을 처리하는 순서의 문제입니다.
댓글을 작성하려면 로그인해야 합니다.
© 2026 All Rights Reserved. 주식회사 스타트링크 | 서비스 약관 | 개인정보 보호 | 결제 이용 약관 | 도움말 | 광고 문의 | 업데이트 노트 | 이슈 | TODO
한국어 | English (Beta)
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
dbehdgns1215 2년 전 0
이 코드가 (division by zero) 가 뜨는 것의 이유는
만약 a는 아무 숫자, b는 0일 때
첫 번째 if문의 a % b == a 연산을 하다가 (b가 0인데 나누려고해서)그런 문제가 생긴 것으로 이해했습니다.
그렇다면 그 아래에 주석으로 되어있는 식도 문제가 되는 거 아닌가요?
if (x == 0 && y == 0) {
break;
}
if (y % x == 0) {
else if (x % y == 0) {
이 부분 보면 x가 0이고 y가 0이 아닐 때
첫 번째 if 문에서 0으로 나누는 꼴이 되기에 이것도 런타임에러가 떠야하는 거 아닌가요?