def trucate(n): if not isprime(n): return False _strn = str(n) for i in range(len(_strn) - 1): if not(isprime(int(_strn[0:-1 - i])) and isprime(int(_strn[i + 1:]))): return False return True
def problem41(): _prm = [i for i in range(3, 50, 2) if isprime(i)] _flg = False for i in range(7654321, 1234567, -2): if not ispandigital(i, 8): continue if (isprime(i)): print("PRIME:", i) break;
def problem10(): _sum = 2 for i in range(3, 2 * 1000 * 1000, 2): if isprime(i): _sum += i # print(i) print(_sum)
def problem7(): # a bit slow, but correct count = 2 i = 3 while count != 10001: i += 2 if isprime(i): count += 1 print("count: {0}, i:{1}.".format(count, i))
def problem35(): _n = 1000 * 1000 _count = 0 for i in range(_n): is_rotations_prime = True for j in rotations(i): if not isprime(j): is_rotations_prime = False break; if (is_rotations_prime == True): _count += 1 print(_count)
def problem3(): # correct n = 600851475143 for i in range(int(n**0.5), 2, -1): if (n % i == 0) and (isprime(i)): print("that's {0}.".format(i)) break