def trunc_right_prime(n): if len(str(n)[:-1])==1: return useful_functions.prime_test(int(str(n)[:-1])) trunced = int(str(n)[:-1]) if not useful_functions.prime_test(trunced): return False return trunc_right_prime(trunced)
def trunc_right_prime(n): if len(str(n)[:-1]) == 1: return useful_functions.prime_test(int(str(n)[:-1])) trunced = int(str(n)[:-1]) if not useful_functions.prime_test(trunced): return False return trunc_right_prime(trunced)
def test_value(n): digits = str(n) for i in range(1, len(digits)): v = int(digits[0:i]) if not useful_functions.prime_test(v): return False v = int(digits[i:]) if not useful_functions.prime_test(v): return False return True
def test_value(n): digits = str(n) for i in range(1,len(digits)): v = int(digits[0:i]) if not useful_functions.prime_test(v): return False v = int(digits[i:]) if not useful_functions.prime_test(v): return False return True
print "legal lefts:", legal_lefts if len(legal_lefts) == 0: break for test in legal_lefts: if test_value(test): found += 1 print test total += test new_legal_lefts = [] for possible in legal_lefts: left_shifted = possible * 10 if useful_functions.prime_test(left_shifted + 1): new_legal_lefts.append(left_shifted + 1) if useful_functions.prime_test(left_shifted + 3): new_legal_lefts.append(left_shifted + 3) if useful_functions.prime_test(left_shifted + 7): new_legal_lefts.append(left_shifted + 7) if useful_functions.prime_test(left_shifted + 9): new_legal_lefts.append(left_shifted + 9) legal_lefts = new_legal_lefts print "total", total
if len(legal_lefts) == 0: break for test in legal_lefts: if test_value(test): found += 1 print test total += test new_legal_lefts = [] for possible in legal_lefts: left_shifted = possible*10 if useful_functions.prime_test(left_shifted+1): new_legal_lefts.append(left_shifted+1) if useful_functions.prime_test(left_shifted+3): new_legal_lefts.append(left_shifted+3) if useful_functions.prime_test(left_shifted+7): new_legal_lefts.append(left_shifted+7) if useful_functions.prime_test(left_shifted+9): new_legal_lefts.append(left_shifted+9) legal_lefts = new_legal_lefts print "total", total
return False return trunc_right_prime(trunced) print "max value: ", convert_number_to_new_base(100000) def test_value(n): digits = str(n) for i in range(1,len(digits)): v = int(digits[0:i]) if not useful_functions.prime_test(v): return False v = int(digits[i:]) if not useful_functions.prime_test(v): return False return True for i in range(4,1000000): n = convert_number_to_new_base(i); if str(n)[0]=='1': continue if str(n)[-1]=='1': continue if useful_functions.prime_test(n) and test_value(n): print n
''' Created on Jan 13, 2012 @author: Jeff Patti ''' import itertools import useful_functions #can't have a 9 or 8 digit pandigital prime number, the numers 1--8 (and 1--9) sum up to a multiple of 3 #meaning, all numbers composed of those digits can not be prime. #fails 3 prime test orig = '7654321' for perm in itertools.permutations(orig): num = int(''.join(perm)) if useful_functions.prime_test(num): print num