[go: up one dir, main page]

login
A068165
Smallest square formed from n by inserting zero or more decimal digits.
9
1, 25, 36, 4, 25, 16, 576, 81, 9, 100, 121, 121, 1369, 144, 1156, 16, 1764, 1089, 169, 2025, 121, 225, 2304, 324, 25, 256, 2704, 289, 289, 2304, 361, 324, 3136, 324, 3025, 36, 3721, 3481, 1369, 400, 441, 4225, 4356, 144, 4225, 4096, 4761, 484, 49, 2500
OFFSET
1,2
COMMENTS
The digits may be added before, in the middle of, or after the digits of n.
If n is a square then a(n) = n. - Zak Seidov, Nov 13 2014
LINKS
EXAMPLE
Smallest square formed from 20 is 2025, by placing 25 on the right side. Smallest square formed from 33 is 3136, by inserting a 1 between 3's and placing a 6.
MAPLE
A068165 := proc(n)
local b, pdigs, plen, dmas, dmasdigs, i, j;
for b from 1 do
pdigs := convert(b^2, base, 10) ;
plen := nops(pdigs) ;
for dmas from 2^plen-1 to 0 by -1 do
dmasdigs := convert(dmas, base, 2) ;
pdel := [] ;
for i from 1 to nops(dmasdigs) do
if op(i, dmasdigs) = 1 then
pdel := [op(pdel), op(i, pdigs)] ;
end if;
end do:
if n = add(op(j, pdel)*10^(j-1), j=1..nops(pdel)) then
return b^2;
end if;
end do:
end do:
end proc:
seq(A068165(n), n=1..133) ; # R. J. Mathar, Nov 14 2014
PROG
(Python)
from math import isqrt
from itertools import count
def dmo(n, t):
if t < n: return False
while n and t:
if n%10 == t%10:
n //= 10
t //= 10
return n == 0
def a(n):
return next(t for t in (i*i for i in count(isqrt(n))) if dmo(n, t))
print([a(n) for n in range(1, 77)]) # Michael S. Branicky, Jan 21 2023
CROSSREFS
A091873 gives square roots. Cf. A038690, A029944, A068164.
Sequence in context: A243749 A331143 A031366 * A086935 A077689 A018796
KEYWORD
base,easy,nonn
AUTHOR
Amarnath Murthy, Feb 25 2002
EXTENSIONS
Corrected and extended by Ray Chandler, Oct 11 2003
STATUS
approved