summaryrefslogtreecommitdiff
path: root/187.c
diff options
context:
space:
mode:
Diffstat (limited to '187.c')
-rw-r--r--187.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/187.c b/187.c
new file mode 100644
index 0000000..4bee151
--- /dev/null
+++ b/187.c
@@ -0,0 +1,28 @@
+#include "common.h"
+#include <stdlib.h>
+#include <string.h>
+
+const unsigned long limit = 100000000;
+
+int main(void)
+{
+ unsigned long* p = primes(limit/2); // sqrt(limit)
+ unsigned long pcount = p[0];
+ unsigned long rcount = 0;
+ unsigned long i1, i2;
+
+ for(i1=1; i1<=pcount; i1++)
+ for(i2=i1; i2<=pcount; i2++)
+ {
+ unsigned long long result = (unsigned long long) p[i1] * p[i2];
+ if(result >= limit)
+ break;
+ rcount++;
+ }
+
+ printf("%li\n", rcount);
+
+ free(p);
+ return 0;
+}
+