A309096 Increasing positive integers with prime factorization exponents all appearing earlier in the sequence.
1, 2, 4, 6, 12, 16, 18, 30, 36, 48, 60, 64, 90, 144, 150, 162, 180, 192, 210, 240, 300, 324, 420, 450, 576, 630, 720, 810, 900, 960, 1050, 1200, 1260, 1296, 1458, 1470, 1620, 1680, 2100, 2310, 2880, 2916, 2940, 3150, 3600, 3750, 4050, 4096, 4410, 4620, 4800
Offset: 1
Keywords
Examples
a(2) = 2, since 2 = 2^1 and all {1} are in a(1..1) = [1]. a(3) != 3, since 3 = 2^0 * 3^1 and not all {0,1} are in a(1..2) = [1,2]. a(3) = 4, since 4 = 2^2 and all {2} are in a(1..2) = [1,2]. a(4) != 5, since 5 = 2^0 * 3^0 * 5^1 and not all {0,1} are in a(1..3) = [1,2,4]. a(4) = 6, since 6 = 2^1 * 3^1 and all {1} are in a(1..3) = [1,2,4].
Programs
-
Haskell
wheelSeeds = [2, 3, 5, 7, 11, 13] wheelOffsets = filter (\c -> all (\s -> mod c s /= 0) wheelSeeds) [1..product wheelSeeds] restOfWheel = (concat (map (replicate (length wheelOffsets)) (map (* (product wheelSeeds)) [1..]))) wheel = wheelSeeds ++ (tail wheelOffsets) ++ (zipWith (+) (cycle wheelOffsets) restOfWheel) isPrime n = and [n > 1, all (\c -> mod n c /= 0) (takeWhile (\c -> c * c <= n) wheel)] primes = filter isPrime wheel exponents bases acc n = if (n == 1) then (dropWhile (== 0) acc) else if (mod n (head bases) == 0) then (exponents bases (((head acc) + 1) : (tail acc)) (div n (head bases))) else (exponents (tail bases) (0 : acc) n) a = filter (\n -> all (\e -> elem e (takeWhile (<= e) a)) (exponents primes [0] n)) [1..]
Formula
a(1) = 1; a(n) = least positive integer x > a(n-1) where the exponents e in the prime factorization of x are in a(1..n-1).
Comments