login
Squares, without multiplicity, that are the concatenation of two integers (without leading zeros) the product of which is also a square.
1

%I #45 Mar 02 2019 01:54:13

%S 49,169,361,1225,1444,1681,3249,4225,4900,15625,16900,36100,42025,

%T 49729,64009,81225,93025,122500,142129,144400,168100,225625,237169,

%U 324900,414736,422500,490000,519841,819025,950625,970225,1024144,1442401,1562500,1600225,1690000,1692601,2079364,2304324

%N Squares, without multiplicity, that are the concatenation of two integers (without leading zeros) the product of which is also a square.

%C Squares that can be split up in more than one way, e.g., 4950625 with sqrt(4 * 950625) = 1950 and sqrt(49 * 50625) = 1575, appear only once.

%C Squares that are members of this sequence in more than one way: 4950625, 495062500, 49506250000, 4950625000000, ..., . - _Robert G. Wilson v_, Aug 14 2015

%H Robert G. Wilson v, <a href="/A258060/b258060.txt">Table of n, a(n) for n = 1..1386</a> (first 200 terms from Reiner Moewald)

%e 169 = 13^2 can be split up into 16 and 9 and 16*9 = 144, a square.

%p p:= proc(k,n) local t; t:= n mod 10^k; t >= 10^(k-1) and issqr(t*(n-t)/10^k) end proc:

%p filter:= n -> ormap(p, [$1..ilog10(n)], n):

%p select(filter, [seq(i^2, i=1..10^4)]); # _Robert Israel_, Sep 22 2015

%t f[n_] := Block[{idn = IntegerDigits@ n, c = 0, k = 1, lmt = Floor[1 + Log10@ n]}, While[k < lmt, m = Mod[n, 10^(lmt - k)]; If[ IntegerQ@ Sqrt[ FromDigits[ Take[idn, {1, k}]] m] && m > 0 && IntegerDigits[m] == Take[idn, {k + 1, -1}], c++]; k++]; c]; Select[ Range[1700]^2, f@# > 0 &] (* _Robert G. Wilson v_, Aug 13 2015 *)

%o (Python)

%o import math

%o list =[]

%o for i in range(1,100000):

%o ...a = i*i

%o ...b = str(a)

%o ...l = len(b)

%o ...for j in range(1, l):

%o ......a_1 = b[:j]

%o ......a_2 = b[j:]

%o ......c = int(a_1)* int(a_2)

%o ......sqrt_c = int(math.sqrt(int(c)))

%o ......if (sqrt_c * sqrt_c == c) and (int(a_2[:1]) > 0):

%o .........if not a in list:

%o ............list.append(a)

%o .........list.append(a)

%o print(list)

%o (PARI) isok(n) = {if (issquare(n), len = #Str(n); for (k=1, len-1, na = n\10^k; nb = n%10^k; if (na && nb && (eval(Str(na,nb))==n) && issquare(na*nb), return (1));););} \\ _Michel Marcus_, Oct 09 2015

%Y Subsequence of A039686.

%K nonn,base

%O 1,1

%A _Reiner Moewald_, Jul 26 2015