vjerksen   7년 전

1. unsigned long long 으로 a와 b라는 변수를 선언하고 값을 받아왔습니다.

2. 약수가 홀수개라는 얘기는 거듭 제곱 수라 판단해서 a+1과 b에 sqrt 연산을 했습니다.

3. 그 과정에서 a+1이 거듭 제곱수일 때와 아닐때, b가 거듭 제곱수일 때와 아닐때로 나눠서 분자를 계산했습니다.

4. (분자)/b-a를 기약 분수로 만들기 위해서 최대 공약수를 찾는 hi라는 함수를 구현했습니다.

5. (분자) 또는 a가 0이면 0을 출력하게 했습니다. 그렇지 않으면 출력 양식대로 출력했습니다.


90%가량 채점하다가 틀렸다고 나오는데, 제 로직의 어느 부분이 잘못되었는 지 잘 모르겠습니다. 도움 부탁드립니다!

doju   7년 전

답이 어떻게 계산되는 건지 잘 이해하진 못했지만 일단 반례 몇 개 드립니다.

그리고 실수형 변수는 항상 오차가 있을 수 있으므로 정수형 변수와 == 만으로 비교하는 것은 별로 좋은 방법이 아닙니다.

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