Skip to content

Commit 38f4a57

Browse files
committed
Add Acton nsieve
It's fairly slow and the string formatting is just horrible, but it works!
1 parent e18226d commit 38f4a57

File tree

1 file changed

+23
-0
lines changed
  • bench/algorithm/nsieve

1 file changed

+23
-0
lines changed

bench/algorithm/nsieve/1.act

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env runacton
2+
3+
def nsieve(n: int):
4+
count = 0
5+
flags = [True] * n
6+
for i in range(2, n, 1):
7+
if flags[i]:
8+
count += 1
9+
for j in range(i, n, i):
10+
flags[j] = False
11+
n_s = ""
12+
for j in range(0, (8-(len(str(n)))), 1):
13+
n_s += " "
14+
c_s = ""
15+
for j in range(0, (8-(len(str(count)))), 1):
16+
c_s += " "
17+
print("Primes up to %s%d %s%d" % (n_s, n, c_s, count))
18+
19+
actor main(env):
20+
n = 4 if len(env.argv) < 2 else int(env.argv[1])
21+
for i in range(0, 3, 1):
22+
nsieve(10000 << (n - i))
23+
await async env.exit(0)

0 commit comments

Comments
 (0)