Wieferich primes: Difference between revisions
no edit summary
m (→{{header|Wren}}: Minor tidy) |
No edit summary |
||
Line 996:
=={{header|Python}}==
<syntaxhighlight lang="python">
# Wieferich-Primzahlen
MAX: int = 5_000
# Berechnet a^n mod m
def pow_mod(a: int, n: int, m: int) -> int:
assert n >= 0 and m != 0, "pow_mod(a, n, m), n >= 0, m <> 0"
n -= 1
else:
a = (a*a)%m
n //= 2
return res%m
def is_prime(n: int) -> bool:
for i in range(2, int(n**0.5) + 1):
if n
return False
return True
def
if
return False
▲ p2 = p ** 2
▲ while p > 1:
▲ q = (2 * q) % p2
▲ p -= 1
▲ if q == 1:
return True
else:
return False
if __name__ == '__main__':
print(f"Wieferich primes less than
for i in range(2,
if
print(i)
</syntaxhighlight>
{{out}}
<pre>Wieferich primes less than 5000:
|