알고리즘/백준

[파이썬] BOJ_10448(유레카 이론)

딱따구르리 2023. 6. 24. 16:02
728x90
반응형

 

 

문제

 

https://www.acmicpc.net/problem/10448

 

10448번: 유레카 이론

프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어

www.acmicpc.net


 

해설

 

반응형

 

triangle 리스트에 삼각수를 1000을 넘지 않는 삼각수를 구해 미리 넣어놓고

그 중 3개의 합으로 구성된 수를 찾으면 된다.


코드

 

-파이썬

#백준 10448(유레카 이론)

import sys
input = sys.stdin.readline

triangle = [n*(n+1)//2 for n in range(1, 46)]  #45번째 삼각수 == 1035
eureka = [0] * 1001

#삼각수 구하기
for i in triangle:
    for j in triangle:
        for x in triangle:
            num = i + j + x
            if num <= 1000:
                eureka[num] = 1

t = int(input())  #테스트케이스 개수
for i in range(t):
    k = int(input())
    print(eureka[k])

 

 

 

728x90
반응형