반응형
고정 비용 A, 가변 비용 B, 제품 가격 C가 주어졌을 때 손익분기점을 구하는 문제이다.
단순 계산으로 놓고 봤을 때 가변 비용보다 제품 가격이 낮다면 언젠가는 이익이 나는 구간이 있고,
가변 비용이 제품 가격보다 높다면 손익분기점이 존재하지 않는다고 볼 수 있다.
따라서 B >= C 라는 조건일 경우에는 손익분기점이 존재하지 않으므로 -1을 출력하고
아닌 경우만 계산해주면 된다.
손익분기점이 존재한다면 (고정비용 + 가변비용) 보다 (제품 판매 수익금) 이 높아져야 하므로
(A+B*x) = (C*x) 가 되는 x를 구하면 된다.
A = Cx - Bx
A = (C-B)x
x = (C-B) / A 가 되는 것을 알 수 있다.
다만 '/' 연산자는 나머지를 날려버리기 때문에 손익분기점보다 조금 못미치는 경우가 발생한다
또 손익분기점이 0으로 딱 떨어진다면 최초의 수익이 나는 구간은 아니기 때문에 위 식에서 +1을 해주면 된다.
#include <stdio.h>
int main() {
int a, b, c;
int point = 0;
scanf_s("%d %d %d", &a, &b, &c);
if (b >= c) {
point = -1;
}
else {
point = a / (c - b) + 1;
}
printf("%d", point);
}
반응형
'C > 백준알고리즘' 카테고리의 다른 글
[C] 백준알고리즘 #1193 분수찾기 (0) | 2021.02.09 |
---|---|
[C] 백준알고리즘 #2292 벌집 (0) | 2021.02.03 |
[C] 백준알고리즘 #1065 한수 (0) | 2021.01.28 |
[C] 백준알고리즘 #15596 정수 N개의 합 (0) | 2021.01.28 |
[C] 백준알고리즘 #4344 평균은 넘겠지 (0) | 2021.01.21 |