|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
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
|
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:
|
|
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))
|
|
CROSSREFS
|
|
|
KEYWORD
|
base,easy,nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|