코드
n,l,w,h = map(int, input().split())
start, end = 0, 1000000000 # 선물 상자의 최소 길이가 1이라는 말은 없다. 0이 최소값!
for _ in range(1000): # 여러 번 반복하면 오차범위가 줄어든다
mid = (start + end) / 2
if ((l//mid)*(w//mid)*(h//mid) >= n): # 상자 개수 구하기
start = mid
else: end = mid
print(f'{start:.10f}') # start, end의 오차범위가 매우 작으므로 어떤 수를 써주어도 상관없다.
오차범위를 줄이는 것이 포인트였던 문제. 낚시 당한 부분이 많아 기억에 오래 남을 것 같다.
'백준' 카테고리의 다른 글
[백준] 3085번 사탕 게임 파이썬 코드 (0) | 2023.11.11 |
---|---|
[백준] 3040번 백설 공주와 일곱 난쟁이 파이썬 코드 (0) | 2023.11.11 |
[백준] 2075번 N번째 큰 수 파이썬 코드 (0) | 2023.11.07 |
[백준] 1935번 후위 표기식2 파이썬 코드 (0) | 2023.11.07 |
[백준] 5397번 키로거 파이썬 코드 (0) | 2023.11.07 |
코드
n,l,w,h = map(int, input().split())
start, end = 0, 1000000000 # 선물 상자의 최소 길이가 1이라는 말은 없다. 0이 최소값!
for _ in range(1000): # 여러 번 반복하면 오차범위가 줄어든다
mid = (start + end) / 2
if ((l//mid)*(w//mid)*(h//mid) >= n): # 상자 개수 구하기
start = mid
else: end = mid
print(f'{start:.10f}') # start, end의 오차범위가 매우 작으므로 어떤 수를 써주어도 상관없다.
오차범위를 줄이는 것이 포인트였던 문제. 낚시 당한 부분이 많아 기억에 오래 남을 것 같다.
'백준' 카테고리의 다른 글
[백준] 3085번 사탕 게임 파이썬 코드 (0) | 2023.11.11 |
---|---|
[백준] 3040번 백설 공주와 일곱 난쟁이 파이썬 코드 (0) | 2023.11.11 |
[백준] 2075번 N번째 큰 수 파이썬 코드 (0) | 2023.11.07 |
[백준] 1935번 후위 표기식2 파이썬 코드 (0) | 2023.11.07 |
[백준] 5397번 키로거 파이썬 코드 (0) | 2023.11.07 |