Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 쉽게 배우는 운영체제 연습문제
- 맛집
- 건담 프라모델
- hg
- project euler
- 쉽게 배우는 운영체제 풀이
- 운영체제 정리
- 건담 엑스포
- 운영체제 만들기
- 쉽게 배우는 운영체제 솔루션
- 맛집 추천
- os 만들기
- 건담
- 운영체제 문제 풀이
- Gundam
- 건프라
- 쉽게 배우는 운영체제
- Project Euler Problem
- OS 그래픽 처리
- 운영체제
- Project Euler 해답
- rg
- OS 구조와 원리
- OS 강의
- 30일
- OS강의
- OS
- OS 제작
- 운영체제 제작
- 프라모델
Archives
- Today
- Total
밤색모자이크의 개발이야기
Project Euler Problem 2 : 피보나치 수열에서 4백만 이하이면서 짝수인 항의 합 본문
Algorithm/Project Euler
Project Euler Problem 2 : 피보나치 수열에서 4백만 이하이면서 짝수인 항의 합
밤색모자이크 2017. 4. 26. 17:20Project Euler 문제를 해답을 포스팅합니다.
※ 주의 : 최적화는 할 수 있는 만큼했습니다. 따라서 속도면에서는 많이 부족합니다.
문제를 푸는데 목표를 두었고 또한 TDD를 최대한 활용하였습니다.
몇가지 문제의 경우 TDD를 안한 경우도 있습니다.
혹시, 최적화 또는 속도 증가에 대한 부분을 지적해주실 분은 너무나도 감사합니다.
Project Euler Problem 2
피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까?
Source Code
Main Code
public class Main { public static void main(String [] args) { int currentPoint = 2; ArrayList<Long> array = new ArrayList<Long>(); array.add(1l); array.add(2l); for(int i=0; i<400000; i++) { long result = array.get(currentPoint - 2) + array.get(currentPoint - 1); if(result > 4000000l) break; array.add(result); currentPoint++; } /* for(int i=0; i<array.size(); i++) { System.out.println(array.get(i)); } */ int result = 0; for(int i=0; i<array.size(); i++) { if( (array.get(i) % 2) == 0 ) result += array.get(i); } System.out.println(result + "," + array.size() + "," + array.get(array.size() - 1)); } }
'Algorithm > Project Euler' 카테고리의 다른 글
Project Euler Problem 6 : 1부터 100까지 "제곱의 합"과 "합의 제곱"의 차는? (0) | 2017.06.18 |
---|---|
Project Euler Problem 5 : 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수 (0) | 2017.06.18 |
Project Euler Problem 4 : 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2017.06.18 |
Project Euler Problem 3 : 가장 큰 소인수 구하기 (0) | 2017.06.18 |
Project Euler Problem 1 : 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면? (0) | 2017.04.26 |
Comments