diff test/sieve.d @ 1:c53b6e3fe49a trunk

[svn r5] Initial commit. Most things are very rough.
author lindquist
date Sat, 01 Sep 2007 21:43:27 +0200
parents
children d9d5d59873d8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sieve.d	Sat Sep 01 21:43:27 2007 +0200
@@ -0,0 +1,31 @@
+/* Eratosthenes Sieve prime number calculation. */
+
+bool flags[8191];
+
+int main()
+{   int     i, prime, k, count, iter;
+
+    printf("10 iterations\n");
+    for (iter = 1;
+    iter <= 10;
+    iter++)
+    {
+    count = 0;
+    flags[] = true;
+    for (i = 0; i < flags.length; i++)
+    {   if (flags[i])
+        {
+        prime = i + i + 3;
+        k = i + prime;
+        while (k < flags.length)
+        {
+            flags[k] = false;
+            k += prime;
+        }
+        count += 1;
+        }
+    }
+    }
+    printf("%d primes\n", count);
+    return 0;
+}