A068165 Smallest square formed from n by inserting zero or more decimal digits.
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
Examples
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.
Links
- Michael S. Branicky, Table of n, a(n) for n = 1..10000
Programs
-
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
-
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
Extensions
Corrected and extended by Ray Chandler, Oct 11 2003
Comments