게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
프로젝트 오일러, 피보나치 알고리즘적 해법. (약간 스압?)
게시물ID : science_484짧은주소 복사하기
작성자 : Einsiedler
추천 : 4
조회수 : 890회
댓글수 : 0개
등록시간 : 2010/04/01 02:16:04
(1) 피보나치 수열의 n번째 항은 n-1번째 항과 n-2번째 항의 합 예시) data[2] = data[1] + data[0] = 2 + 1 = 3 data[3] = data[2] + data[1] = 3 + 2 = 5 data[4] = data[3] + data[2] = 5 + 3 = 8 따라서 다음과 같이 풀어 쓸 수 있습니다. data[2] = data[1] + data[0] data[3] = 2data[1] + data[0] data[4] = 3data[1] + 2data[0] data[5] = 5data[1] + 3data[0] data[6] = 8data[1] + 5data[0] data[7] = 13data[1] + 8data[0] data[8] = 21data[1] + 13data[0] data[9] = 34data[1] + 21data[0] data[10] = 55data[1] + 34data[0] ...(이하 반복)... (2) 만약 n번째 항이 짝수이면 n+1번째 항은 홀수, n+2번재 항은 홀수, n+3번째 항은 짝수. 이유는 data[1] = 2 (짝수), data[0] = 1 (홀수). data[1]은 계수에 관계없이 항상 짝수. data[0]의 계수가 짝수일 때만 짝수가 될 수 있습니다. (직접 계산해보세요 ^_^) 따라서 신경 써야 될 부분은 1, 4, 7, 10, ... 으로 나가는 부분. data[1] = data[1] data[4] = 3data[1] + 2data[0] data[7] = 13data[1] + 8data[0] data[10] = 55data[1] + 34data[0] ...(이하 반복)... (3) data[1] = 2 data[0]가 성립 법칙 (3)에 따라 짝수 부분의 식을 정리하면 아래와 같습니다. data[1] = data[1] data[4] = 4data[1] data[7] = 4data[4] + data[1] data[10] = 4data[7] + data[4] data[13] = 4data[10] + data[7] ...(이하 반복)... (4) 잘 시간이라 급마무리 1. (3)에서 나타난 수식을 이용하여 400만 미만일 때까지 짝수인 항을 굳이 다 계산할 필요없이 빠르게 구할 수 있습니다. 2. (3) 마지막에 나타난 수식을 어떻게 조작하면 더 간단한 합 공식이 나올 수도 있을 것 같은데 잘 시간이 임박하여 더 이상의 자세한 설명은 생략합니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호