Rev 21 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
30 | daniel-mar | 1 | package de.viathinksoft.immortal.internal; |
21 | daniel-mar | 2 | |
3 | import java.math.BigInteger; |
||
4 | |||
5 | public class Endzeitpunkt { |
||
6 | |||
7 | // Allgemeine Daten zum Test (GenX) |
||
8 | private static final BigInteger TEST_BEGINN = new BigInteger("1291006160"); |
||
9 | |||
10 | // Der alte Algorithmus (r19) |
||
11 | // private static final int ABSCHNITT_STEP = 3; |
||
12 | // private static final BigInteger ABSCHNITT_BEGINN = new BigInteger("789"); |
||
13 | // private static final BigInteger ABFALL_MEDIAN = new BigInteger("199"); |
||
14 | |||
15 | // Der neue Algorithmus (r20) |
||
16 | private static final int ABSCHNITT_STEP = 29; |
||
17 | private static final BigInteger ABSCHNITT_BEGINN = new BigInteger("94923"); |
||
18 | private static final BigInteger ABFALL_MEDIAN = new BigInteger("30"); |
||
19 | |||
20 | private static BigInteger f(int u) { |
||
21 | BigInteger res = ABSCHNITT_BEGINN; |
||
22 | for (int i = ABSCHNITT_STEP + 1; i <= u; i++) { |
||
23 | res = res.add(ABFALL_MEDIAN.multiply(BigInteger.valueOf(i))); |
||
24 | } |
||
25 | return res; |
||
26 | } |
||
27 | |||
28 | private static BigInteger u(int u) { |
||
29 | return f(u).add(TEST_BEGINN); |
||
30 | } |
||
31 | |||
32 | public static void main(String[] args) { |
||
33 | int max_step = Integer.MAX_VALUE / 100000; |
||
34 | |||
35 | System.out.println("End time for step: " + max_step); |
||
36 | System.out.println(u(max_step)); |
||
37 | } |
||
38 | |||
39 | } |