C/백준알고리즘

[C] 백준알고리즘 #1712 손익분기점

Sehyeok20 2021. 2. 3. 18:16
반응형

백준알고리즘 #1712 손익분기점 문제

고정 비용 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);
}
반응형