본문 바로가기
프로그램

[파이썬] 문제 : 임의의 3개의 수중 합이 0이 되는 경우

by 오디세이99 2022. 11. 2.
728x90
반응형
import random

lst = [random.randint(-100, 100) for a in range(20)]    # -100~100 임의의 수 20개
print(lst)

flag = False                        # 0이 만들어지는지 확인 변수. 초기화 Flase
for a1 in range(len(lst)):                         # 3개의 수
    for a2 in range(a1+1,len(lst)):
        for a3 in range(a2+1, len(lst)):
            if lst[a1] + lst[a2] + lst[a3] == 0:  # 3개 수의 합이 0 인지 확인
                print(lst[a1], lst[a2], lst[a3], '/sum=',sum([lst[a1],lst[a2],lst[a3]]))
                flag = True                       # 3개 수의 합이 0 이면 flag변수 True
                break                             # 0인 경우 찾으면 종료
        if flag == True:                         # 0인 경우 찾으면 종료
            break
    if flag == True:                             # 0인 경우 찾으면 종료
        break
    
if flag == True:
    print(0)
else:
    print(-1)

결과

[33, -23, 51, -65, -50, -1, 25, -23, 8, 6, -91, 43, 0, -99, -76, 29, -38, 54, 52, -55]
33 43 -76 /sum= 0
0
728x90
반응형

댓글