%I #74 Jan 31 2026 10:13:25
%S 3,4,5,6,7,8,9,148,164,167,169,178,187,196,262,334,388,393,584,668,
%T 928,937,946,955,964,973,982,1376,1655,1668,1673,2544,2654,4524,6343,
%U 10697,10764,12686,15278,15365,16524,30724,32955,41268,45634,50879,53384,54237
%N Numbers k such that there is a smaller number m > 1 such that k*m equals the concatenation of digit-wise multiplication, keeping the leading digits of k when m has fewer digits.
%C We take the digit from the greater number when no corresponding digit in the smaller number exists.
%C Greatest values for m < k are given in A392618.
%C If the multiplication per digit gives a one-digit result 0 - 9, only this single digit is used in the concatenation. So we don't allow 1124*971 = 1091404, it becomes the concatenation(1,9,14,4) = 19144 instead.
%C It is not true that m is always only one digit shorter than k, for example: 41268*998 = 41185464.
%C Numbers k and m cannot have the same number of digits unless they are both smaller than 10. - _Max Alekseyev_, Jan 30 2026
%H Max Alekseyev, <a href="/A392568/b392568.txt">Table of n, a(n) for n = 1..123</a>
%H <a href="/index/Ca#CARRYLESS">Index entries for sequences related to carryless arithmetic</a>.
%e 148 is part of the sequence because 148*92 = 13616 = concatenate(1, 4*9=36, 8*2=16).
%e This sequence was inspired by the well known internet meme corresponding to the multiplication:
%e 3 9 8 7 6 8 7 7
%e 9 5 6 4 5 4 6
%e 3|81|40|42|24|40|28|42 = 39876877*9564546
%o (PARI) /* Inefficient brute force, just for illustration. Returns a solution m > 1 if n is a term, or zero if not. */
%o is_A392568(n)={ my(dn=digits(n), L=#dn, o, dwp); forstep(m=n-1,2,-1, my(dp=digits(m*n));
%o if (o = L - #dm=digits(m), dp[1..o] == dn[1..o] || next);
%o #[0 | t <- dwp = [dm[i]*dn[i+o] | i<-[1..#dm]], t>9] == #dp - #dn || next;
%o concat([if (t>9, digits(t), [t]) | t <- dwp]) == dp[o+1..-1] && return(m))}
%o select( is_A392568, [1..999]) \\ _M. F. Hasler_, Jan 25 2026
%o (Python)
%o def match(skm, sk, sm):
%o d = len(sk) - len(sm)
%o if skm[:d] != sk[:d]: return False
%o return skm[d:] == "".join(str(int(sk[i+d])*int(sm[i])) for i in range(len(sm)))
%o def ok(k):
%o sk = str(k)
%o return any(match(str(k*m), sk, str(m)) for m in range(k-1, 1, -1))
%o print([k for k in range(2000) if ok(k)]) # _Michael S. Branicky_, Jan 30 2026
%Y Cf. A392618, A392040 (list of m*k).
%K nonn,base
%O 1,1
%A _Thomas Scheuerle_, Jan 16 2026