ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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
Designed by Tistory.