A276372 Numbers n such that, in the prime factorization of n, the list of the exponents is a rotation of the list of the prime factors.
1, 4, 27, 72, 108, 800, 3125, 6272, 12500, 30375, 36000, 48600, 84375, 247808, 337500, 395136, 750141, 823543, 857304, 1384448, 3294172, 22235661, 24532992, 37879808, 53782400, 88942644, 122500000, 161980416, 171478296, 189267968, 235782657, 600112800, 1313046875, 2155524696
Offset: 1
Keywords
Examples
4 is in the sequence because the prime factorization of 4 is 2^2, and the list of exponents (i.e., [2]) is a rotation of the list of prime factors (i.e., [2]). 36000 is in the sequence because the prime factorization of 36000 is 2^5 * 3^2 * 5^3, and the list of exponents (i.e., [5, 2, 3]) is a rotation of the list of prime factors (i.e., [2, 3, 5]). 84 is not in the sequence because the prime factorization of 84 is 2^2 * 3^1 * 7^1, and the list of exponents (i.e., [2, 1, 1]) is not a rotation of the list of prime factors (i.e., [2, 3, 7]). 21600 is not in the sequence because the prime factorization of 21600 is 2^5 * 3^3 * 5^2, and the list of exponents (i.e., [5, 3, 2]) is not a rotation of the list of prime factors (i.e., [2, 3, 5]).
Crossrefs
Programs
-
Mathematica
Select[Range[10^6], Function[w, Total@ Boole@ Map[First@ w == # &, RotateLeft[Last@ w, #] & /@ Range[Length@ Last@ w]] > 0]@ Transpose@ FactorInteger@ # &] (* Michael De Vlieger, Sep 01 2016 *)
-
Sage
def in_seq( n ): if n == 1: return True pf = list( factor( n ) ) primes = [ t[0] for t in pf ] exponents = [ t[1] for t in pf ] if primes[0] in exponents: i = exponents.index(primes[0]) exp_rotated = exponents[i : ] + exponents[0 : i] return primes == exp_rotated else: return False print([n for n in range(1, 10000000) if in_seq(n)])
-
Sage
# Much faster program that generates the solutions rather than searching for them. from sage.misc.misc import powerset primes = primes_first_n(9) max_prime = primes[-1] solutions = set([1]) max_solution = min(2^max_prime * max_prime^2, max_prime^max_prime) for subset in powerset(primes): subset_list = list(subset) for i in range(0, len(subset_list)): exponents = subset_list[i : ] + subset_list[0 : i] product = 1 for j in range(0, len(subset_list)): product = product * subset_list[j]^exponents[j] if product <= max_solution: solutions.add(product) print(sorted(solutions))