[C++] 백준 1712
백준의 1712번 문제 손익분기점이다.
https://www.acmicpc.net/problem/1712
1712번: 손익분기점
월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와
www.acmicpc.net
< 문제 >
월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.
예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.
노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.
A, B, C가 주어졌을 때, 손익분기점을 구하는 프로그램을 작성하시오.
< 예제 >
손익 분기점을 계산하는 문제이다.
고정비묭 A, 가변비용 B, 물건의 금액 C의 변수가 있다.
위의 설명을 읽어보면 결국 계산하는데 변화가 있는 것은 가변비용과 물건의 금액이다.
물건 하나를 만들때마다 그만큼 가변비용B가 증가하는 것이다.
A=1,000, B=70이라고 하면 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. |
이렇고 A는 1000으로 고정, B는 노트북 한대당 B만큼 증가하므로 A + (B * C의 갯수) = 1000 + (70 * 10) = 1700이 된다.
#include <iostream>
#include <string>
using namespace std;
int main() {
int A, B, C; //A = 고정비용, B = 가변비용, C = 판매금액
int total = 0;
cin >> A >> B >> C;
if (B >= C)
cout << "-1";
else {
total = A / (C - B);
cout << total + 1;
}
}
만약 B가 C보다 크다면 물건 1개를 만드는 비용이 판매했을 때의 비용보다 크기때문에 이익이 날 수가 없기 때문에
if (B >= C)
cout << "-1";
이렇게 -1을 출력하게 하였다.
그 외에는 전부 이익이 나는 상황이라 else를 사용하였다.
else {
total = A / (C - B);
cout << total + 1;
}
total을 A / C-B로 나누었다. C-B는 순이익, 물건 판매 비용 - 물건을 만드는데 든 인건비이다.
고정비용 / 순이익 을 계산하면 몇번 판매해야 이익을 보는지 알 수 있게 된다.