cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A046827 Numbers k such that k^2 contains all the digits of k with the same or higher multiplicity.

Original entry on oeis.org

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

Views

Author

Keywords

Comments

10^n is a term for all n. - Amarnath Murthy, Aug 03 2005

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.
		

Crossrefs

Cf. A064827 (essentially the same).

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