Python SolutionsPython Solutions

🧮

Primes

Week 8, 2026

All Solutions

Python: Solution with pre-generated list of primes | Alexevi | Python Solutions

def main() -> None: maximum = 10000 # input of program primes = get_primes(maximum**2 + 1) difference = 0 MinusOneCount = 0 AddOneCount = 0 for num in range(1, maximum+1): n = num**2 - 1 if search(n, primes): print(f"{num}^2 - 1 = {n}") print(f"Difference: {num - difference}") print() difference = num MinusOneCount += 1 n = num**2 + 1 if search(n, primes): print(f"{num}^2 + 1 = {n}") print(f"Difference: {num - difference}") print() difference = num AddOneCount += 1 print("--- Counts ---") print() print(f"MinusOneCount: {MinusOneCount}") print(f"AddOneCount: {AddOneCount}") def get_primes(n: int) -> list[int]: ns = [] primes = [] ns.append(2) for i in range(3, n + 1, 2): ns.append(i) n = len(ns) for i in range(1, n): if ns[i] != 0: b = ns[i] a = b * 2 while ((b + a) - 1) // 2 < n: b += a ns[(b - 1) // 2] = 0 for i in range(n - 1): if ns[i] != 0: primes.append(ns[i]) return primes def search(num: int, primes: list[int]) -> bool: a = 0 b = len(primes) - 1 while True: i = int((a + b) / 2) if num > primes[i]: a = i elif num < primes[i]: b = i else: return True if b - a == 1: if num == primes[a] or num == primes[b]: return True return False main()

Python Write to file | THOMAS L | Python Solutions

//Paste your solution here if you want to share it publicly def IsPrime(x: int): for i in range(2, min(x, 10000)): # for i in range(2, x): if x % i == 0: return False return True addCount = 0 minCount = 0 prevNum = 0 with open("example.txt", "w") as file: for a in range(1, 10001): if IsPrime(a ** 2 - 1) and a != 1: file.write(str(a) + "^2 - 1 = " + str(a ** 2 - 1) + "\n") file.write("Difference: " + str(a - prevNum) + "\n\n") minCount += 1 prevNum = a if IsPrime(a ** 2 + 1): file.write(str(a) + "^2 + 1 = " + str(a ** 2 + 1) + "\n") file.write("Difference: " + str(a - prevNum) + "\n\n") addCount += 1 prevNum = a file.write("--- Counts ---\n") file.write("MinusOneCount: " + str(minCount) + "\n") file.write("AddOneCount: " + str(addCount) + "\n")

dunno | Peiran D | Python Solutions

//Paste your solution here if you want to share it publiclydef main() -> None: maximum = 10000 primes = get_primes(maximum**2 + 1) difference = 0 MinusOneCount = 0 AddOneCount = 0 for num in range(1, maximum+1): n = num**2 - 1 if search(n, primes): print(f"{num}^2 - 1 = {n}") print(f"Difference: {num - difference}") print() difference = num MinusOneCount += 1 n = num**2 + 1 if search(n, primes): print(f"{num}^2 + 1 = {n}") print(f"Difference: {num - difference}") print() difference = num AddOneCount += 1 print("--- Counts ---") print() print(f"MinusOneCount: {MinusOneCount}") print(f"AddOneCount: {AddOneCount}") def get_primes(n: int) -> list[int]: ns = [] primes = [] ns.append(2) for i in range(3, n + 1, 2): ns.append(i) n = len(ns) for i in range(1, n): if ns[i] != 0: b = ns[i] a = b * 2 while ((b + a) - 1) // 2 < n: b += a ns[(b - 1) // 2] = 0 for i in range(n - 1): if ns[i] != 0: primes.append(ns[i]) return primes def search(num: int, primes: list[int]) -> bool: a = 0 b = len(primes) - 1 while True: i = int((a + b) / 2) if num > primes[i]: a = i elif num < primes[i]: b = i else: return True if b - a == 1: if num == primes[a] or num == primes[b]: return True return False main()