문제 원본
https://www.hackerrank.com/contests/projecteuler/challenges/euler002
문제 요약
N 미만의 피보나치 수열 중 2의 배수를 모두 합한 값. (단, 최초 2개의 숫자는 1, 2로 시작함)
-Solution.java
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 | import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String[] args) { Scanner in = new Scanner(System.in); int t = in.nextInt(); for(int a0 = 0; a0 < t; a0++){ long n = in.nextLong(); long sum = 0; long prev = 1, fibo = 2, tmp = 0; while(fibo < n){ if(fibo%2 == 0) sum += fibo; tmp = prev; prev = fibo; fibo += tmp; } System.out.println(sum); } } } | cs |
- 주의할 점!
같은 연산을 반복 수행한다고 해서 재귀함수로 구현하면 쓰뜌삣!!!!!!!!!!!! 그러면 공간복잡도 꽝꽝꽝
천천히, 꾸준히 syaring's study
'syaring_Study > algo_Project Euler' 카테고리의 다른 글
| 20171208 | Project Euler #1: Multiples of 3 and 5 | HackerRank (0) | 2017.12.08 |
---|