From dac90d8562f629d4143c92731be36700849be716 Mon Sep 17 00:00:00 2001 From: Flancian <0@flancia.org> Date: Sat, 14 Oct 2023 23:34:35 +0200 Subject: [PATCH] autopushed --- bin/prime.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/bin/prime.py b/bin/prime.py index e833a07fd..e4dc33db6 100755 --- a/bin/prime.py +++ b/bin/prime.py @@ -8,7 +8,6 @@ import math import sys # I'm not proud (I am a little bit?). -SIEVE = [] PROOF = [] # :) def factor(n): @@ -18,12 +17,13 @@ def factor(n): def print_sieve(sieve): for n, prime in enumerate(sieve): if n >= 2 and prime: - click.echo(f"[[{n}]] is prime.") + + click.echo(f"{n}") def is_prime(n): - SIEVE = [True for n in range(0, n+1)] + sieve = [True for n in range(0, n+1)] upto = math.ceil(math.sqrt(n)) - for i, _ in enumerate(SIEVE): + for i, _ in enumerate(sieve): # click.echo(f"i: {i}") if i < 2: continue @@ -31,7 +31,7 @@ def is_prime(n): if i > upto: break # If this is a known composite, then we've already crossed off its multiples when we iterated over its primes. - if not SIEVE[i]: + if not sieve[i]: continue # for j in range(2, math.ceil(math.sqrt(n) + 1)): for j in range(2, n): @@ -40,10 +40,10 @@ def is_prime(n): break PROOF.append(f"[[{i*j}]] is composite: {i} * {j}.") try: - SIEVE[i*j] = False + sieve[i*j] = False except IndexError: continue - return (n >= 2 and SIEVE[n], SIEVE) + return (n >= 2 and sieve[n], sieve) class AgoraCmd(click.Command): def format_help(self, ctx, formatter): @@ -77,7 +77,7 @@ def prime(n): click.echo(f"{n} is not prime. Want proof? :)") click.echo("\n".join([line for line in PROOF if f'[[{n}]]' in line])) - print_sieve(sieve) + click.echo(print_sieve(sieve)) if __name__ == '__main__': prime()