■ 프로그램 명 : climbing
한 마리벌레가 n 인치 깊이의 우물 바닥에 있다.
벌레는 매 분당 u 인치를 오를수 있고 다시 일분을 쉬고 다시 오르고를 반복한다.
쉬는 동안은 d 인치를 미끄러진다.
이 벌레가 우물 밖으로 빠져 나오는데는 얼마나 걸릴까?
분 단위로 계산하고 바닥에서 꼭대기까지 올라오면 다 빠져 나왔다고 간주한다.
■ 입력
여러개의 테스트 데이터가 입력으로 주어진다. 각 테스트 데이터는 3 개의 양의 정수 n,u,d 가 입력으로 주어진다. 이 변수들은 위에서 설명한 그대로 이다. ( d < u , n <100 )
n 이 0 이면 입력의 끝이다.
■ 출력
매 입력당 벌레가 우물을 빠져 나오는 필요한 분을 출력한다.
■ 입출력 예
입력
10 2 1
20 3 1
0 0 0
출력
17
19
■ 소스 코드
#include <stdio.h>
int main()
{
int n, u, d, tmp, count;
for (;;)
{
scanf_s("%d%d%d", &n, &u, &d);
tmp = 0, count=0;
if (n == 0) { break; } // n = 0이면 탈출한다.
for (;;)
{
tmp += u;
count++; // 올라갈 때 카운트
if (tmp >= n) { printf("%d\n", count); break; }
tmp -= d;
count++; // 내려갈 때 카운트
}
}
return 0;
}