A258844 Numbers k with the property that it is possible to write the base 2 expansion of k as concat(a_2,b_2), with a_2>0 and b_2>0 such that, converting a_2 and b_2 to base 10 as a and b, we have (a+b)^2 = k.
9, 36, 49, 100, 225, 784, 961, 1296, 2601, 3969, 7225, 8281, 14400, 16129, 18496, 21609, 29241, 34969, 42025, 65025, 116964, 123201, 133225, 246016, 261121, 278784, 465124, 508369, 672400, 700569, 828100, 1046529, 1368900, 1590121, 1782225, 4064256, 4190209, 4326400
Offset: 1
Examples
9 in base 2 is 1001. If we take 1001 = concat(10,01) then 10 and 01 converted to base 10 are 2 and 1. Finally (2 + 1)^2 = 3^2 = 9; 36 in base 2 is 100100. If we take 100100 = concat(10,0100) then 10 and 0100 converted to base 10 are 2 and 4. Finally (2 + 4)^2 = 6^2 = 36.
Programs
-
Maple
with(numtheory): P:=proc(q) local a,b,c,k,n; for n from 1 to q do c:=convert(n,binary,decimal); for k from 1 to ilog10(c) do a:=convert(trunc(c/10^k),decimal,binary); b:=convert((c mod 10^k),decimal,binary); if a*b>0 then if (a+b)^2=n then print(n); break; fi; fi; od; od; end: P(10^6);
-
PARI
isok(n) = {b = binary(n); if (#b > 1, for (k=1, #b-1, vba = Vecrev(vector(k, i, b[i])); vbb = Vecrev(vector(#b-k, i, b[k+i])); da = sum(i=1, #vba, vba[i]*2^(i-1)); db = sum(i=1, #vbb, vbb[i]*2^(i-1)); if ((da+ db)^2 == n, return(1));););} \\ Michel Marcus, Jun 13 2015
Comments