URL :点击打开题目
This problem is a programming version of Problem 2 from projecteuler.net
import java.io.OutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Scanner; /** * Built using CHelper plug-in * Actual solution is at the top * * @author zhangyong */ public class Solution { public static void main(String[] args) { InputStream inputStream = System.in; OutputStream outputStream = System.out; Scanner in = new Scanner(inputStream); PrintWriter out = new PrintWriter(outputStream); ProjectEuler2EvenFibonacciNumbers solver = new ProjectEuler2EvenFibonacciNumbers(); solver.solve(1, in, out); out.close(); } static class ProjectEuler2EvenFibonacciNumbers { private long getFibonacciNumbers(long num) { long sum = 0; long f0 = 2, f1 = 8, f2 = 0; while (f1 < num) { sum += f1; f2 = f1 * 4 + f0; f0 = f1; f1 = f2; } return sum + 2; } public void solve(int testNumber, Scanner in, PrintWriter out) { int t = in.nextInt(); long N; while (t-- > 0) { N = in.nextLong(); out.println(getFibonacciNumbers(N)); } } } }