-
[프로젝트 오일러] Python 2번 문제[프로젝트 오일러 Project Euler]/[Python] 2024. 1. 12. 16:17
[문제]
피보나치(Fibonacci) 수열의 각 항은 바로 앞의 항 두 개를 더한 것입니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
4백만 이하의 짝수 값을 갖는 모든 피보나치 항을 더하면 얼마가 됩니까?
[알고리즘]
1. 수열의 첫번째 항과 두번째 항을 인자로 받는 Fibo함수 생성
2. 세번째 매개변수는 n 이하의 값
3. Fibo의 네번째 매개변수는 리스트
4. 리스트에 append로 a[i+2] = a[i] + a[i+1] 추가
5. 짝수 값을 갖는 항만 sum 변수에 더해줌
[코드]
empty_list = [] # 빈 리스트 생성
def Fibo(first_num,second_num,max_num,lst):lst.append(first_num)lst.append(second_num)j=0while lst[-1] < max_num: 리스트의 마지막 항이 정해준 max_num 보다 작을 때만 실행lst.append(lst[j]+lst[j+1])j+=1
a = Fibo(1,2,4000000,empty_list)
sum = 0for k in range(len(empty_list)):if empty_list[k] % 2 ==0: # 짝수 선별sum += empty_list[k]print(sum)'[프로젝트 오일러 Project Euler] > [Python]' 카테고리의 다른 글
[프로젝트 오일러] 4번 대칭수 (python) (0) 2024.01.23 [프로젝트 오일러] Python 3번 문제 (0) 2024.01.12 [프로젝트 오일러] Python 1번 문제 (0) 2024.01.12