fork download
  1. public class Main {
  2. public static final long MOD = 1000000007;
  3. public static void main(String[] args) {
  4. fib1(10000000);
  5. fib2(10000000);
  6. }
  7.  
  8. public static void fib1(int n) {
  9. long stime = System.nanoTime();
  10. long[] fib = new long[n+1];
  11. fib[0] = 0; fib[1] = 1;
  12. for(int i=2;i<=n;i++) {
  13. fib[i] = (fib[i-2] + fib[i-1]) % MOD;
  14. }
  15. System.out.println((System.nanoTime() - stime) / 1000000 + " ms");
  16. System.out.println(fib[n]);
  17. }
  18. public static void fib2(int n) {
  19. long stime = System.nanoTime();
  20. long[] fib = new long[n+1];
  21. fib[0] = 0; fib[1] = 1;
  22. for(int i=2;i<=n;i++) {
  23. fib[i] = fib[i-2] + fib[i-1];
  24. if (fib[i] >= MOD) fib[i] -= MOD;
  25. }
  26. System.out.println((System.nanoTime() - stime) / 1000000 + " ms");
  27. System.out.println(fib[n]);
  28. }
  29. }
  30.  
Success #stdin #stdout 0.81s 320512KB
stdin
Standard input is empty
stdout
526 ms
490189494
191 ms
490189494