Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 구현하는 다리 길이 계산 프로그램: 기차의 속도와 길이 활용하기

이 문제에서는 기차의 길이(L)와 속도(S), 그리고 기차가 다리를 통과하는 데 걸린 시간(T)이 주어집니다. 우리의 목표는 C++을 사용하여 이 정보들로부터 다리의 길이를 계산하는 프로그램을 작성하는 것입니다.

문제 설명

기차의 속도, 다리를 건너는 데 걸린 시간, 그리고 기차의 길이를 이용하여 다리의 길이를 구해야 합니다.

예시를 통해 문제를 이해해 보겠습니다.

입력: L = 310m, S = 45m/sec, T = 12sec

출력: 230m

풀이 접근 방법

기차가 다리를 완전히 통과하는 동안 이동한 거리는 기차가 다리에 진입하는 순간부터 기차의 마지막 칸이 다리를 벗어나는 순간까지입니다. 따라서 이동 거리는 기차의 길이(L) + 다리의 길이(B)가 됩니다.

이를 수식으로 표현하면 다음과 같습니다.

S × T = L + B

여기서 다리의 길이(B)를 구하면,

B = S × T − L

구현 예제

#include <iostream>
using namespace std;

int findBridgeLength(int L, int S, int T) {
    int B = (S * T) - L;
    return B;
}

int main() {
    int L = 150, S = 45, T = 25;
    cout << "다리의 길이는 " << findBridgeLength(L, S, T);
    return 0;
}

실행 결과

다리의 길이는 975

코드 설명

위 코드에서 findBridgeLength 함수는 기차의 길이(L), 속도(S), 통과 시간(T)을 매개변수로 받습니다. 함수 내부에서는 공식 B = S × T − L을 적용하여 다리의 길이를 계산한 뒤 반환합니다.

예제 입력에서 기차의 길이가 150m이고, 초속 45m로 25초 동안 이동했으므로 총 이동 거리는 45 × 25 = 1125m입니다. 여기서 기차의 길이 150m를 빼면 다리의 길이인 975m가 도출됩니다.

시간 복잡도

이 알고리즘은 단순한 산술 연산만 수행하므로 시간 복잡도는 O(1)이며, 추가 메모리 사용 없이 상수 시간 안에 결과를 얻을 수 있습니다.