#59. 백준 2869번 문제 풀이: 달팽이는 올라가고 싶다 |
문제 원본 보기
|
달팽이가 있고, 높이가 V미터인 나무 막대를 올라갈 것이다.
낮에 A미터 올라가고, 밤에 자는 동안 B미터 미끄러진다.
정상에 올라한 후에는 미끄러지지 않는다.
달팽이가 정상에 올라가려면 며칠이 걸리는지 구하시오.
입력:
첫줄에 A B V. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
출력:
정상에 올라가는데 며칠이 걸리는지 출력
입력/출력
--입력--
2 1 5
--출력--
4
--입력--
5 1 6
--출력--
2
--입력--
100 99 1000000000
--출력--
999999901
문제풀이+해설
하루에 올라가는 거리는 d = A(낮에 이동거리) - B(밤에 미끄러진 거리)
걸리는 날은 dn = V/d 가 된다.
정상에 올라가서는 미끄러지지 않는다고 했으므로, 이것을 고려해서,
나무 높이에서 미리 미끄러짐 거리를 미리 빼주고 계산하는게 핵심이다.
그래서 공식은 일수(dn) = (V - B) / d 가 된다.
일수가 소수점을 넘으면 하루가 반영(2.1 이면 3일 임)되므로, 나눈값을 올림처리 해야 한다.
대부분 언어에는 ceil 이라는 소수점을 올림처리하는 함수가 있다. 그것을 사용하면 된다.