login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A048653 Numbers k such that the decimal digits of k^2 can be partitioned into two or more nonzero squares. 4
7, 12, 13, 19, 21, 35, 37, 38, 41, 44, 57, 65, 70, 107, 108, 112, 119, 120, 121, 125, 129, 130, 190, 191, 204, 205, 209, 210, 212, 223, 253, 285, 305, 306, 315, 342, 343, 345, 350, 369, 370, 379, 380, 408, 410, 413, 440, 441, 475, 487, 501, 538, 570, 642, 650 (list; graph; refs; listen; history; text; internal format)
OFFSET
1,1
LINKS
EXAMPLE
12 is present because 12^2=144 can be partitioned into three squares 1, 4 and 4.
108^2 = 11664 = 1_16_64, 120^2 = 14400 = 1_4_400, so 108 and 120 are in the sequence.
MATHEMATICA
(* This non-optimized program is not suitable to compute a large number of terms. *) split[digits_, pos_] := Module[{pos2}, pos2 = Transpose[{Join[ {1}, Most[pos+1]], pos}]; FromDigits[Take[digits, {#[[1]], #[[2]]}]]& /@ pos2]; sel[n_] := Module[{digits, ip, ip2, accu, nn}, digits = IntegerDigits[n^2]; ip = IntegerPartitions[Length[digits]]; ip2 = Flatten[ Permutations /@ ip, 1]; accu = Accumulate /@ ip2; nn = split[ digits, #]& /@ accu; SelectFirst[nn, Length[#]>1 && Flatten[ IntegerDigits[#] ] == digits && AllTrue[#, #>0 && IntegerQ[Sqrt[#]]&]&] ]; k = 1; Reap[Do[If[(s = sel[n]) != {}, Print["a(", k++, ") = ", n, " ", n^2, " ", s]; Sow[n]], {n, 1, 10^4}]][[2, 1]] (* Jean-François Alcover, Sep 28 2016 *)
PROG
(Haskell)
a048653 n = a048653_list !! (n-1)
a048653_list = filter (f . show . (^ 2)) [1..] where
f zs = g (init $ tail $ inits zs) (tail $ init $ tails zs)
g (xs:xss) (ys:yss)
| h xs = h ys || f ys || g xss yss
| otherwise = g xss yss
where h ds = head ds /= '0' && a010052 (read ds) == 1
g _ _ = False
-- Reinhard Zumkeller, Oct 11 2011
(Python)
from math import isqrt
def issquare(n): return isqrt(n)**2 == n
def ok(n, c):
if n%10 in {2, 3, 7, 8}: return False
if issquare(n) and c > 1: return True
d = str(n)
for i in range(1, len(d)):
if d[i] != '0' and issquare(int(d[:i])) and ok(int(d[i:]), c+1):
return True
return False
def aupto(lim): return [r for r in range(lim+1) if ok(r*r, 1)]
print(aupto(650)) # Michael S. Branicky, Jul 10 2021
CROSSREFS
Cf. A048646, A048375, A010052, A000290; subsequence of A128783.
Sequence in context: A328414 A083681 A178660 * A205807 A075696 A061120
KEYWORD
base,nice,nonn
AUTHOR
EXTENSIONS
Corrected and extended by Naohiro Nomoto, Sep 01 2001
Definition clarified by Harvey P. Dale, May 09 2021
STATUS
approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified March 28 09:04 EDT 2024. Contains 371240 sequences. (Running on oeis4.)