Updated to working non-parallelized version for Test.c
[IRC.git] / Robust / src / Tests / mlp / stephen / Test.java
1 public class Test\r
2 {\r
3     private final int MAX = 100000;\r
4 \r
5     public Test(){}\r
6 \r
7     public static void main(String args[]) {\r
8 \r
9         System.out.println("# it starts");\r
10         Test t = new Test();\r
11         t.doSomeWork();\r
12 \r
13     }\r
14 \r
15     public void doSomeWork()\r
16     {\r
17         long sum = 0;\r
18         long time = System.currentTimeMillis();\r
19         \r
20         //I did the for loop this way so that each parallel thread would take\r
21         //about the same time \r
22         for(int i = 0; i < MAX/2 + 1; i++)\r
23         {\r
24                 int innerSum = 0;\r
25                 \r
26                 {\r
27                         int oppositeNum = MAX - i;\r
28                         \r
29                         if(isPrime(i))\r
30                                 innerSum += i;\r
31                         \r
32                         if(i != oppositeNum && isPrime(oppositeNum))\r
33                                 innerSum += MAX - i;\r
34                 }\r
35                 \r
36                 sum += innerSum;\r
37         }\r
38 \r
39         System.out.println("The sum of primes from 1 to " + MAX + " is " + sum + ".");\r
40         System.out.println("Note: 1 is counted as a prime.");\r
41         System.out.println("Time Consumed (Not Parallelized): " + (System.currentTimeMillis() - time) + " ms");\r
42 \r
43     }\r
44     \r
45 \r
46     private boolean isPrime(int number)\r
47     {\r
48         //handles special cases\r
49         if(number < 1)\r
50             return false;\r
51 \r
52         if (number < 3)\r
53                 return true;\r
54 \r
55         //Tests the rest of the numbers\r
56         for(int i = 2; i < number; i++)\r
57         {\r
58             if(number%i == 0)\r
59                 return false;\r
60         }\r
61         \r
62         return true;\r
63     }\r
64 \r
65 }\r