이 문제에서는 월간 총 지출(E), 제품의 판매 가격(S), 제품당 유지 보수 비용(M)이라는 세 개의 변수가 주어집니다. 우리의 과제는 C++로 손익분기점을 찾는 프로그램을 작성하는 것입니다.
손익분기점(Break-Even Point)이란 판매자에게 손실도 이익도 발생하지 않도록 하기 위해 판매해야 하는 총 제품 수를 의미합니다. 즉, 총 매출이 총 비용과 정확히 일치하는 지점입니다.
문제 설명 − 손해가 발생하지 않도록 하기 위해 판매해야 하는 최소 제품 수를 구해야 합니다.
예시를 통해 문제를 이해해 보겠습니다.
입력
E = 2400, S = 150, M = 30
출력
20
설명
제품당 이익은 다음과 같이 계산됩니다.
S - M = 150 - 30 = 120
따라서 판매해야 하는 총 제품 수는,
N = E / (S - M) = 2400 / 120 = 20
해결 접근 방식
손해가 발생하지 않으려면 판매자는 각 제품에서 얻는 이익의 합이 총 지출과 같아지는 만큼의 제품(n개)을 판매해야 합니다.
따라서 공식은 다음과 같습니다.
판매해야 할 제품 수 = 총 지출 ÷ (판매 가격 − 제품당 유지 보수 비용)
여기서 주의할 점은 결과가 정수로 나누어떨어지지 않을 경우, 손실을 피하려면 소수점을 올림(ceil) 처리해야 한다는 것입니다. 그래서 코드에서 ceil() 함수를 사용합니다.
솔루션의 동작을 보여주는 프로그램입니다.
예제
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int E = 2400, S = 150, M = 30;
cout<<"판매해야 할 제품 수는 "<< ceil(E/ (S - M));
return 0;
}
출력
판매해야 할 제품 수는 20
위 프로그램에서 E(총 지출)를 제품당 순이익(S - M)으로 나눈 값에 ceil() 함수를 적용하여, 손실 없이 모든 비용을 충당하기 위해 판매해야 하는 정확한 제품 수를 구할 수 있습니다.