-
[C++/dovelet] 우물 탈출알고리즘/dovelet 2023. 1. 12. 20:09
■ 프로그램 명 : 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; }
'알고리즘 > dovelet' 카테고리의 다른 글
[Dovelet/C++] 직각 삼각형 별(tri1) (0) 2023.01.17 [Dovelet/C++] 독서 (0) 2023.01.12 [C++/dovelet] 빈 병 (1) 2023.01.12 [C++/dovelet] 인공지능 시계 (0) 2023.01.12 [C++/dovelet] 세 자리 수 곱셈 (0) 2023.01.12