A046827 Numbers k such that k^2 contains all the digits of k with the same or higher multiplicity.
0, 1, 5, 6, 10, 11, 25, 27, 50, 60, 63, 64, 74, 76, 95, 96, 100, 101, 105, 110, 125, 139, 142, 205, 250, 255, 261, 270, 275, 277, 278, 285, 305, 364, 371, 376, 405, 421, 441, 463, 472, 493, 497, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 523, 524, 525
Offset: 1
Examples
27 is a term as 27^2 = 729 contains 2 and 7. 255 is a term as 255^2 = 65025 which contains the digits 2,5,5. 502 is a term as 502^2 = 252004 which contains 5, 0, 2.
Programs
-
Maple
isA046827 := proc(n) local dgsn,dgsnsq,multsn,multsn2,o,i ; dgsn := sort(convert(n,base,10)) ; dgsnsq := sort(convert(n^2,base,10)) ; multsn := [seq(0,i=0..9) ] ; multsn2 := [seq(0,i=0..9) ] ; for i from 1 to nops(dgsn) do o := op(1+op(i,dgsn),multsn) ; multsn := subsop( 1+op(i,dgsn)=o+1,multsn ) ; od: for i from 1 to nops(dgsnsq) do o := op(1+op(i,dgsnsq),multsn2) ; multsn2 := subsop( 1+op(i,dgsnsq)=o+1,multsn2 ) ; od: for i from 1 to 10 do if op(i,multsn2) < op(i,multsn) then RETURN(false) ; fi ; od: RETURN(true) ; end: for n from 1 to 700 do if isA046827(n) then printf("%d,",n) ; fi ; od; # R. J. Mathar, Feb 11 2008
-
Mathematica
Join[{0}, Select[Range[525], Count[Table[DigitCount[#^2, 10, k] - DigitCount[#, 10, k], {k, Union[IntegerDigits[#]]}], ?Negative] == 0 &]] (* _Jayanta Basu, Jun 29 2013 *)
-
Python
from itertools import count, islice from collections import Counter def A046827_gen(startvalue=0): # generator of terms >= startvalue return filter(lambda k:Counter(str(k))<=Counter(str(k**2)),count(max(startvalue,0))) A046827_list = list(islice(A046827_gen(),20)) # Chai Wah Wu, Apr 03 2023
Extensions
Edited by N. J. A. Sloane, Aug 23 2008 at the suggestion of R. J. Mathar
Comments