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