단계별로 풀어보기 > 단계 8: 일반 수학 > 2869번
#2869: 달팽이
a, b, v = map(int, input().split())
if (v-a) % (a-b) == 0:
print((v-b) // (a-b))
else:
print(((v-b) // (a-b)) + 1)
달팽이가 하루에 올라가는 높이가 a-b, 달팽이가 총 올라가야 하는 높이가 v-b입니다. 나누었을 때 나머지가 0이 아니면 하루가 더 필요한 것이므로 +1을 해 줍니다.
while 문을 사용하면 시간 초과라는 메시지가 뜹니다. 시간을 고려하지 않은 while 반복문은 다음과 같습니다.
#시간을 고려하지 않음
a, b, v = map(int, input().split())
count = 0
sum = 0
while True:
sum += a
count += 1
if sum >= v:
break
else:
sum -= b
print(count)