Ejemplo n.º 1
0
def tryit(special,memo={}):
	print special
	if special in memo:
		return memo[special]
	memo[special]= None
	result = None
	for prime in p.primes_list:
		count = 0
		if prime in special:
			continue
		for s in special:
			if p.is_prime(p.concat_nums(prime,s)):
				if p.is_prime(p.concat_nums(s,prime)):
					count +=1
		if count == len(special):
			result = special+(prime,)
			break
	if result == None:
		for i in range(len(special)):
			for prime in p.primes_list[1:]:
				if prime not in special:
					result = tryit(special[:i]+(prime,)
							+special[i+1:])
					if result:
						print result
						break
			if result:
				break
	memo[special] = result
	return memo[special]
Ejemplo n.º 2
0
def is_concat(p1,p2,misconcat={}):
	if (p1,p2) in misconcat:
		return misconcat[(p1,p2)]
	misconcat[(p1,p2)]=False
	if (pr.is_prime(pr.concat_nums(p1,p2)) 
		and pr.is_prime(pr.concat_nums(p2,p1))):
		misconcat[(p1,p2)] = True
		misconcat[(p2,p1)] = True
	return misconcat[(p1,p2)]