allgoodlife   7년 전

안녕하세요. 프로그래밍 공부하는 대학생입니다. 2436번 공약수 문제를 풀었는데, 예외케이스를 잘 못찾겠습니다.

로직상 무엇 잘못 되었는 지도 모르겠구요.. 다른분들 질문을 보아도 잘 모르겠네요~ 혹시 찾아주시면 정말 감사하겠습니다:)

zych1751   7년 전

lcm = gcd * a * b라고 했을때, a, b는 서로소라는 조건이 필요합니다.

4 64

의 경우, 

4 64가 나와야 하는데 위 코드는 

8 32가 나오고 있습니다.

allgoodlife   7년 전

말씀하신대로 서로소인 부분을 추가했습니다. 그런데도 오류가나는데,

두개의 수를 입력받고 조건을 만족하는 두 수가 존재하지 않을 때 아무것도 출력하지 않게 했는데

이건 상관없나요?? 문제에서 명시적으로 이야기해주지 않아서 잘 모르겠습니다.

zych1751   7년 전

불가능한경우는 처리하지 않으셔도 상관없습니다.

지금 서로소 체크가 잘못되고 있는데, 

14  21의 경우 서로소가 아니지만(7로 나누어 떨어지므로), 21%14 = 7 이므로 위와 같은 방법으로는 확인할 수 없습니다.

a, b가 서로소일 조건은 a와 b의 최대공약수가 1인 경우로 확인하시면 됩니다.

allgoodlife   7년 전

감사합니다. 코딩실력이 많이 부족한데 덕분에 하나 배웠네요^^ 알려주신것 참고하여 다시 해보겠습니다.

댓글을 작성하려면 로그인해야 합니다.