파이썬_실전 프로젝트

2번문제 - 피보나치 수열

q-002

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

 

400만 이하의 피보나치 수중 "짝수"만의 합을 구하는 문제입니다.

일단 400만까지 루프문을 만들고, 짝수이면 합을 계산합니다.

i=1;total=0
while i<4000000 :
    if i%2==0 :
	    total=total+i
    i=i+1
print(total)

이렇게만 하면, 피보나치 수가 아니고, 그냥 짝수만의 합이죠.

 

피보나치수를 만들어 줘야 합니다.

이전값과 현재값을 더하면, 다음항이 됩니다.

    next_i=previous_i+i
    previous_i=i
	i=next_i

그다음 현재의 i값을 과거항으로 옮기고, 아까 만든 다음값을 새로운 i의 값으로 업데이트 해줍니다.

그리고 프린트 문을 중간중간에 넣어서, 값을 확인해 봅니다.

previous_i=1;i=1;total=0
while i<4000000 :
    print("loop ",i)
	if i%2==0 :
		total=total+i
		print("total is ",total)
	next_i=previous_i+i
	previous_i=i
	i=next_i

print(total)

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
노마드
현재 버전
선택 버전
graphittie 자세히 보기