autopushed

This commit is contained in:
2023-10-14 21:57:47 +02:00
parent e7719a03f2
commit 10bab69801
+6 -6
View File
@@ -22,9 +22,9 @@ def echo_sieve(s):
click.echo(f"[[{n}]] is prime.") click.echo(f"[[{n}]] is prime.")
def is_prime(n): def is_prime(n):
is_prime = [True for n in range(0, n+1)] sieve = [True for n in range(0, n+1)]
upto = math.ceil(math.sqrt(n)) upto = math.ceil(math.sqrt(n))
for i, _ in enumerate(is_prime): for i, _ in enumerate(sieve):
# click.echo(f"i: {i}") # click.echo(f"i: {i}")
if i < 2: if i < 2:
continue continue
@@ -32,7 +32,7 @@ def is_prime(n):
if i > upto: if i > upto:
break break
# If this is a known composite, then we've already crossed off its multiples when we iterated over its primes. # If this is a known composite, then we've already crossed off its multiples when we iterated over its primes.
if not is_prime[i]: if not sieve[i]:
continue continue
# for j in range(2, math.ceil(math.sqrt(n) + 1)): # for j in range(2, math.ceil(math.sqrt(n) + 1)):
for j in range(2, n): for j in range(2, n):
@@ -41,11 +41,11 @@ def is_prime(n):
break break
PROOF.append(f"[[{i*j}]] is composite: {i} * {j}.") PROOF.append(f"[[{i*j}]] is composite: {i} * {j}.")
try: try:
is_prime[i*j] = False sieve[i*j] = False
except IndexError: except IndexError:
continue continue
echo_sieve(is_prime) echo_sieve(sieve)
return is_prime[n] return sieve[n]
class AgoraCmd(click.Command): class AgoraCmd(click.Command):
def format_help(self, ctx, formatter): def format_help(self, ctx, formatter):