728x90
반응형

이분 탐색 문제이다. 소수를 찾는 문제라서 반복문을 100번 정도 돌려줬다.

50번 정도 돌리면 결과의 오차가 10**-9보다 크게 나오는지 통과가 안된다.

N, L, W, H = map(int, input().split())
s, e = 0, max(L, W, H)
for _ in range(100):
    m = (s+e)/2
    if (L//m)*(W//m)*(H//m) >= N:
        s = m
    else:
        e = m
print("%.10f" %(e))

처음에 아래같이 풀었다가 시간 초과가 떠서 계속 틀렸다.

N, L, W, H = map(int, input().split())
s, e = 0, max(L, W, H)
while e-s > 0.00000001:
    m = (s+e)/2
    if (L//m)*(W//m)*(H//m) >= N:
        s = m
    else:
        e = m
print("%.10f" %(e))
728x90
반응형

+ Recent posts