%I #28 Dec 07 2019 17:21:43
%S 0,1,10,11,12,13,14,95,96,97,98,99,100,101,102,103,104,105,106,107,
%T 108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,
%U 125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,895
%N Numbers having the same leading decimal digits as their squares.
%C A000030(a(n)) = A002993(a(n)) = A000030(A000290(a(n))).
%H Reinhard Zumkeller, <a href="/A089951/b089951.txt">Table of n, a(n) for n = 1..10000</a>
%F A number n is in the sequence iff n = 0 or n/10^floor(log_10(n)) lies in one of the half-open intervals [1, sqrt(2)), [sqrt(80), 9) or [sqrt(90), 10). - _David W. Wilson_, May 29 2008
%e 895*895 = 801025, therefore 895 is a term: a(55)=895.
%p F:= proc(d) $10^d .. floor(sqrt(2)*10^d), $ ceil(sqrt(80)*10^d) .. 9*10^d - 1, $ ceil(sqrt(90)*10^d) .. 10^(d+1)-1 end proc:
%p 0, F(0), F(1), F(2), F(3); # _Robert Israel_, Mar 18 2015
%t d[n_] := IntegerDigits[n]; Select[Range[895],
%t First[d[#]] == First[d[#^2]] &] (* _Jayanta Basu_, Jun 03 2013 *)
%o (PARI) a(n)={my(v = [1, sqrt(80), sqrt(90)], w=[(k)->10^k * ((sqrt(2) - 1))\1 + 1, (k)->9 * 10^k - ceil(sqrt(80) * 10^k), (k)->10 * 10^k - ceil(sqrt(90) * 10^k)],i = 1,k = 0); if(n==1, 0, n--; while(n>w[i](k), n-=w[i](k); i++; if(i == 4, i = 1; k++)); ceil(v[i]*10^k)+n-1)} \\ _David A. Corneth_, Feb 26 2015
%o (PARI) isok(n) = (n == 0) || (digits(n)[1] == digits(n^2)[1]); \\ _Michel Marcus_, Mar 18 2015
%o (Haskell)
%o a089951 n = a089951_list !! (n-1)
%o a089951_list = [x | x <- [0..], a000030 x == a000030 (x ^ 2)]
%o -- _Reinhard Zumkeller_, Apr 01 2015
%Y Cf. A018834.
%Y Cf. A144582. - _Reinhard Zumkeller_, Aug 17 2008
%Y Cf. A000030, A002993, A000290, A256523 (subsequence).
%K nonn,base
%O 1,3
%A _Reinhard Zumkeller_, Jan 12 2004