* configure.ac: New switch for disabling -O2 (--disable-optimizations).
[cacao.git] / tests / sieve.java
1
2 // Primzahlen sieben,  Java-Version
3
4 public class sieve {
5         
6         static void sievenumber(int n, boolean[] no_prime, int p) {
7                 int i;
8                 for (i=p*2; i<=n; i+=p) no_prime[i] = true;
9                 }
10                                 
11         static void sieving(int n, boolean[] no_prime) {
12                 int p;
13                 for (p=2; p<=n; p++) {
14                         if (!no_prime[p]) sievenumber(n,no_prime,p);
15                         }
16                 }
17                         
18         static public void main(String [] s) {
19
20                 int count=0;
21                 int p;
22                 
23                 int n = Integer.parseInt (s[0]);
24                 int times = Integer.parseInt (s[1]);
25                                 
26                 boolean no_prime[] = new boolean[n+1];
27         
28                 System.out.print ("Start sieving primes from 2 to ");
29                 System.out.print (n);
30                 System.out.print (" for ");
31                 System.out.print (times);
32                 System.out.println (" times");
33                 
34                 for (; times>0; times--) {      
35                         for (p=0; p<n+1; p++) no_prime[p] = false;
36                         
37                         sieving (n,no_prime);
38                 
39                         count=0;
40                         for (p=2; p<=n; p++) if (!no_prime[p]) count++;
41                         
42                         }
43                                         
44                 System.out.print (".... done, number of primes: ");
45                 System.out.println (count);
46                 }
47                 
48                 
49         }
50