login
Numbers, with an even number of digits, that are the sum of the squares of their two halves (leading zeros allowed only for the second half).
10

%I #32 Dec 20 2024 10:06:51

%S 1233,8833,990100,94122353,1765038125,2584043776,7416043776,

%T 8235038125,9901009901,116788321168,123288328768,876712328768,

%U 883212321168,999900010000,13793103448276,15348303604525,84651703604525,86206903448276,91103202846976,92318202663025

%N Numbers, with an even number of digits, that are the sum of the squares of their two halves (leading zeros allowed only for the second half).

%C The sequence is infinite since it contains several infinite subsequences (see A055617, etc.).

%C If x = A*10^n+B is an element not beginning with 9, then (10^n-A)*10^n+B is another (e.g. 1233 <-> 8833).

%C Numbers that can be written as n = A*10^d + B with 10^(d-1) <= A < 10^d, 0 <= B < 10^d, and A^2 + B^2 = n. - _Robert Israel_, May 10 2015

%H Robert Israel, <a href="/A055616/b055616.txt">Table of n, a(n) for n = 1..1000</a>

%e 8833 is ok, since 8833 = 88^2 + 33^2.

%p dmax:= 8: # to get all entries with at most 2*dmax digits

%p Res:= NULL:

%p for d from 2 to dmax do

%p cands:= map(t -> subs(t,[x,y]), [isolve(x^2 + y^2 = 10^(2*d)+1)]);

%p cands:= select(t -> t[1]::even and t[1]>=0 and t[2]>0, cands);

%p cands:= map(t -> ([(10^d + t[1])/2, (t[2]+1)/2], [(10^d-t[1])/2, (t[2]+1)/2]), cands);

%p cands:= select(t -> (t[1]>= 10^(d-1) and t[1] < 10^d and t[2] <= 10^d), cands);

%p Res:= Res, op(map(t -> 10^d*t[1]+t[2], cands));

%p od:

%p sort([Res]); # _Robert Israel_, May 10 2015

%t fQ[n_] := Block[{d = IntegerDigits@ n}, If[OddQ[Length@ d], False, Plus[FromDigits[Take[d, Length[d]/2]]^2, FromDigits[Take[d, -Length[d]/2]]^2]] == n]; Select[Range@ 1000000, fQ] (* _Michael De Vlieger_, May 09 2015 *)

%o (Python)

%o def a():

%o n = 1

%o while n < 10**6:

%o st = str(n)

%o if len(st) % 2 == 0:

%o s1 = st[:int(len(st)/2)]

%o s2 = st[int(len(st)/2):int(len(st))]

%o if int(s1)**2+int(s2)**2 == int(st):

%o print(n,end=', ')

%o n += 1

%o else:

%o n += 1

%o else:

%o n = 10*n

%o a()

%o # _Derek Orr_, Jul 08 2014

%o (PARI) select( {is_A055616(n, L=logint(n,10))=L%2 && n==norml2(divrem(n,10^(L\/2)))}, [1..10^5]) \\ _M. F. Hasler_, Dec 20 2024

%o for(L=1,oo, for(n=10^L,10^L++, is_A055616(n)&& print1(n", "))) \\ slow beyond 10^6

%Y Cf. A064942 for the number of solutions, where leading zeros are allowed.

%Y Cf. A055617, A055618, A055619.

%K nonn,base

%O 1,1

%A Ulrich Schimke (ulrschimke(AT)aol.com)

%E Definition corrected by _Derek Orr_, Jul 09 2014