수학 1

박상영·2020년 5월 6일
0

수학 사고력을 기르기위한 문제들.

순익분기점

1000 70 170
고정 지출(a) 과 생산비용(b)가 있고, 판매수익(c)가 있다.
최초로 이익이 발생하는 판매량을 구하고, 순익분기점이 존재하지 않으면 -1을 출력한다.

a, b, c = map(int, input().split())
if b >= c:
	print(-1)
else:
	print(a // (c - b) + 1)

먼저 b >= c 를 사용한 이유는, 순익분기점 즉 1원이라도 순이익이 있어야 순익분기점이 존재하지만,
생산비용이 판매수익을 넘을시 존재하지않기때문에 -1을 출력하는 if문을 사용하였다.
a // (b - c) + 1 은 170에 생산비용을 뺀 값을 고정지출에 나누면 출력은 10이 나온다.
하지만 1 을 더한 이유는, 당일을 더한값이다.

최소한의 값을 구하기

N킬로그램을 정확하게 구해야 한다. 3킬로그램과 5킬로그램 두개의 값만 존재하고, 두개의 값을 최소한만 사용하여 N의 값에 도달하여야 한다.
ex) x는 18의 값이 주어진다.

x = int(input())
if x % 5 == 0:
	print(x // 5)

우선 x의 값을 5로 나눴을때 나머지값이 0 나온다면 5의 배수이기 때문에 x에 5를 나눠주면 최소한의 값을 구할수있다.

elif x % 5 == 3:
	print(x // 5 + 1)

그러고나서 5로 나눴을대 몫이 3이 남으면 x 에 5을 나누고 위에 3키로그램 하나의 값을 더한 값을 출력한다

elif x // 5 - 1 >= 0 and x - (5 * (x // 5 - 1)) == 6:
	print((x // 5 - 1) + 2)
elif x // 5 - 1 >= 0 and x - (5 * (x // 5 - 1)) == 9:
    print((x // 5 - 1) + 3)
elif x // 5 - 2 >= 0 and x - (5 * (x // 5 - 2)) == 12:
    print((x // 5 - 2) + 4)

위에 코드는 5키로그램을 사용할수 없을때의 값을 구하여 3키로그램만을 사용한 갯수를 구하는 코드이다.

else:
	print(-1)

마지막으로 주어진 값이 3키로와 5키로를 사용하여 정확한 갯수를 구할 수 없을때 -1을 출력하도록 하였다.

profile
backend

0개의 댓글