|
|
A069512
|
|
Geometric mean of digits = 2 and digits are in nondecreasing order.
|
|
4
|
|
|
2, 14, 22, 118, 124, 222, 1128, 1144, 1224, 2222, 11148, 11228, 11244, 12224, 22222, 111188, 111248, 111444, 112228, 112244, 122224, 222222, 1111288, 1111448, 1112248, 1112444, 1122228, 1122244, 1222224, 2222222, 11111488, 11112288, 11112448, 11114444
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
No number is obtainable by permuting the digits of other members - only one with ascending order of digits is included. Product of the digits = 2^k where k is the number of digits.
|
|
LINKS
|
|
|
EXAMPLE
|
1128 is a term but 2118 is not.
|
|
MATHEMATICA
|
a = {}; b = 2; Do[c = Apply[ Times, IntegerDigits[n]]/b^Floor[ Log[10, n] + 1]; If[c == 1 && Position[a, FromDigits[ Sort[ IntegerDigits[n]]]] == {}, Print[n]; a = Append[a, n]], {n, 1, 10^7}]
|
|
PROG
|
(Python)
from math import prod
from sympy.utilities.iterables import multiset_combinations
def aupton(terms):
n, digits, alst, powsexps2 = 0, 1, [], [(1, 0), (2, 1), (4, 2), (8, 3)]
while n < terms:
target = 2**digits
mcstr = "".join(str(d)*(digits//max(1, r)) for d, r in powsexps2)
for mc in multiset_combinations(mcstr, digits):
if prod(map(int, mc)) == target:
n += 1
alst.append(int("".join(mc)))
if n == terms: break
else: digits += 1
return alst
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|