def get_circular(pwr_of_10): primes = get_primes_below(10 ** pwr_of_10) circular = [] for prime in primes: # print prime, "--" original = prime step = int(''.join([str(prime)[-1:], str(prime)[:-1]])) # print original, step # steps = [] while step != original: if step not in primes: break # steps.append(step) # print steps, step step = int(''.join([str(step)[-1:], str(step)[:-1]])) # print step, str(prime)[-1:], str(prime)[:-1], ''.join([str(prime)[-1:], str(prime)[:-1]]) if step == original: # print step, original, "---" # for thing in steps: # print step, # print circular.append(original) # for thing in circular: # print(int(thing)), return circular
def prime_divisors(number): primes = list_primes.get_primes_below(number) prime_divisor = {} for prime in primes: while number % prime == 0: if prime in prime_divisor: prime_divisor[prime] += 1 else: prime_divisor[prime] = 1 number /= prime if number != 1: prime_divisor[number] = 1 return prime_divisor