2869호: 달팽이는 오르고 싶어한다
첫 번째 줄은 공백으로 구분된 세 개의 정수 A, B, V를 지정합니다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
-어떻게?
언뜻 보기에 이것은 매우 간단한 문제입니다.
하지만 세 정수의 범위는 최대 10억까지 매우 큰 숫자이므로 시간 제한에 주의하면서 문제를 해결하세요!
-새로운!
수학 모듈~에서 천장 (), 바닥() 함수는 각각 반올림 및 내림을 반환할 수 있습니다.
반올림: math.ceil(변환하려는 값)
반올림: 반올림(변환하려는 값)
내림: math.floor(변환할 값)
* Ceil은 ‘천장’을 의미하고 Floor는 ‘바닥’을 의미합니다!
# math.ceil() 예시
print(math.ceil(3.14))
>>> 4
print(math.ceil(0.123))
>>> 1
print(math.ceil(-3.14))
>>> -3
print(math.ceil(-0.123))
>>> 0
print(math.ceil(5))
>>> 5
# math.floor() 예시
print(math.floor(3.14))
>>> 3
print(math.floor(0.123))
>>> 0
print(math.floor(-3.14))
>>> -4
print(math.floor(-0.123))
>>> -1
print(math.floor(5))
>>> 5
답변 및 설명 보기!
더보기
# 풀이 및 해석
'''
A, B, V = map(int,input().split())
H = A
count = 1
while H < V:
H -= B
H += A
count += 1
print(count)
문제를 단순하게 반복문을 사용하여 풀어도 되지만,
많은 반복이 일어날수록 시간이 오래걸리기 때문에 적합하지않다.
'''
import math
A, B, V = map(int,input().split())
print(math.ceil((V-A)/(A-B)) +1)
# 다른 풀이
A, B, V = map(int,input().split())
print((V-B-1)//(A-B)+1) # B+1이 무조건 A보다 작거나 같다는 특징을 이용한 방법
