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));
}
}
}
}