def check(x): for p in nums.primes(x): if p == x: return True y = math.sqrt((x - p) / 2) if y == int(y): return True return False
def all_uniq(x): count = 0 for p in nums.primes(x): if x % p != 0: continue x /= p while x % p == 0: x /= p count += 1 if count == factorCount: return x == 1 elif x == 1: return False assert(False)
import nums primes = set(nums.primes(1000)) def primeCount(a, b): n = 0 while True: if (n * n + a * n + b) not in primes: break n += 1 return n results = [((a, b), primeCount(a, b)) for b in primes for a in range(-b, 1000, 2)] a, b = max(results, key=lambda t: t[1])[0] print(a, "*", b, "=", a * b) print("Makes %s primes" % primeCount(a, b))