|
|
A046827
|
|
Numbers k such that k^2 contains all the digits of k with the same or higher multiplicity.
|
|
7
|
|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
COMMENTS
|
|
|
LINKS
|
|
|
EXAMPLE
|
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.
|
|
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 *)
|
|
PROG
|
(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)))
|
|
CROSSREFS
|
Cf. A064827 (essentially the same).
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|