bear1704   3년 전

안녕하세요.

문제를 풀고 나서 맞은 사람 목록에서 다른분들 풀이를 보고 좀 궁금해서 질문 드립니다.

저는 문제를 풀 때 첫 번째 코드처럼 X값을 고른 다음, 남은 부분에서 반복문으로 1씩 더해가면서 답을 찾았는데요,

다른 분의 풀이를 보니 반복문으로 ++하면서 찾지 않고도 한 번에 답을 찾을 수 있는 것 같았습니다.

근데 분자에서 1을 빼고 분모에서 1을 더하는 이유를 잘 모르겠네요.

그 이유가 궁금합니다.

seico75   3년 전

(V-B-1)//(A-B)  + 1 입니다.

사실 답은 (V-B)/(A-B)의 올림인데.. (1.1 이면 2, 3.0 이면 3 ....)

이것을 한번에 구하는 방법이 (V-B-1)//(A-B) 로 무조건 작은 정수로 만들고 하나를 더 하는 방법인 것 같습니다.

저는 보통 (V-B+A-B-1)//(A-B) 이라고 쓰는데...

이것을 (V-B-1   +A-B)// (A-B) = (V-B-1)//(A-B) + 1로 쓴 것 같습니다.

숫자로 이야기 하면.. 1.1 == 11/10  (11 + 10 - 1) // 10 = 20//10 = 2

3.0 = 30 / 10 => (30 + 10 - 1) // 10 = 39//10 = 3

1.9 = 19 / 10 => (19 + 10 - 1) // 10 = 28//10 = 2

bear1704   3년 전

감사합니다! 올림을 구하는 방법이었군요.

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