반응형
코드
def check(fir,sec):
n_list = [fir,sec]
while 1:
num = fir - sec
if num < 0:
break
n_list.append(num)
fir = sec
sec = num
return n_list
fir = int(input())
sec = fir
max_list = []
while 1:
cnt = check(fir,sec)
if len(max_list) < len(cnt):
max_list = cnt
sec -= 1
if sec < 0:
break
print(len(max_list))
print(*max_list)
설명
두 번째 수는 첫 번째 수보다 작거나 같아야 한다. 이 범위에 있는 수의 모든 경우의 수를 구해야 하기 때문에 while문을 돌렸다.
check 함수에서는 n번째 수에서 n+1번째 수를 뺀 값이 음수가 아니면 n_list에 넣어주었고 n_list를 반환해주었다.
n_list의 길이와 기존 max_list의 길이를 비교해서 더 큰 값을 max_list로 바꿔주었다.
반응형
'알고리즘 > 완전탐색' 카테고리의 다른 글
[백준][Python] 13410번 거꾸로 구구단 (0) | 2022.07.15 |
---|---|
[백준][Python] 1059번 좋은 구간 (0) | 2022.07.14 |
[백준][Python] 14697번 방 배정하기 (0) | 2022.07.13 |
[백준][Python] 1436번 영화감독 숌 (0) | 2022.07.13 |
[백준][Python] 10448번 유레카 이론 (0) | 2022.07.12 |
댓글