login
Composite numbers that divide the concatenation of the reverse of their ascending order prime factors, with repetition.
1

%I #23 May 10 2024 10:59:53

%S 998,1636,9998,15584,49447,99998,1639964,2794612,9999998,15842836,

%T 1639360636,1968390098,27879461212,65226742928

%N Composite numbers that divide the concatenation of the reverse of their ascending order prime factors, with repetition.

%C A number 999...9998 will be a term if it has two prime factors 2 and 4999...999. Therefore 999999999999998 and 999...9998 (with 54 9's) are both terms. See A056712.

%C 100000000000 < a(15) <= 999999999999998. _Robert P. P. McKone_, May 07 2024

%e 998 is a term as 998 = 2 * 499 = "2" * "994" when each prime factor is reversed. This gives "2994", and 2994 is divisible by 998.

%e 15584 is a term as 15584 = 2 * 2 * 2 * 2 * 2 * 487 = "2" * "2" * "2" * "2" * "2" * "784" when each prime factor is reversed. This gives "22222784", and 22222784 is divisible by 15584.

%t a[n_Integer] := Module[{f}, f = Flatten[ConstantArray @@@ FactorInteger[n]]; If[Length[f] < 2, Return[False]]; Mod[FromDigits[StringJoin[StringReverse[IntegerString[#, 10]] & /@ f], 10], n] == 0];

%t Select[Range[2, 10^5], a] (* _Robert P. P. McKone_, May 03 2024 *)

%o (Python)

%o from itertools import count, islice

%o from sympy import factorint

%o def A372046_gen(startvalue=4): # generator of terms >= startvalue

%o for n in count(max(startvalue,4)):

%o f = factorint(n)

%o if sum(f.values()) > 1:

%o c = 0

%o for p in sorted(f):

%o a = pow(10,len(s:=str(p)),n)

%o q = int(s[::-1])

%o for _ in range(f[p]):

%o c = (c*a+q)%n

%o if not c:

%o yield n

%o A372046_list = list(islice(A372046_gen(),5)) # _Chai Wah Wu_, Apr 24 2024

%Y Cf. A371696, A371695, A371641, A027746, A056712.

%K nonn,base,more

%O 1,1

%A _Scott R. Shannon_, Apr 17 2024

%E a(13)-a(14) from _Robert P. P. McKone_, May 05 2024