[백준/파이썬] 4690번 완전 세제곱수 풀이

업데이트:



문제 정보


풀이

문제

a^3 = b^3 + c^3 + d^3를 만족하는 정수 조합을 찾아 형식에 맞춰 출력하는 문제입니다.

코드

result = []
for b in range(2, 98):
    for c in range(b+1, 99):
        for d in range(c+1, 100):
            value = (b**3 + c**3 + d ** 3)
            if value > 1_000_000: continue
            a = int(value**(1/3))
            if a**3 == value: result.append((a, b, c, d))
            a += 1
            if a**3 == value: result.append((a, b, c, d))

result.sort()
print('\n'.join(map(lambda x:f'Cube = {x[0]}, Triple = ({x[1]},{x[2]},{x[3]})', result)))

설명

b < c < d 조합을 순회하며 합의 세제곱근 후보를 검사해 조건을 만족하는 (a,b,c,d)만 수집 후 정렬 출력합니다.



댓글남기기