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.

A058429 Numbers k such that k^2 contains only digits {0,3,4}, not ending with zero.

Original entry on oeis.org

2, 548, 585688, 58591812, 200824138, 5773251280200207952, 20832739723817975138362
Offset: 1

Views

Author

Patrick De Geest, Nov 15 2000

Keywords

Crossrefs

Cf. A058430.

Programs

  • PARI
    \\ From M. F. Hasler, May 14 2007, edited Nov 14 2017: (Start)
    admissibleMod(LIM=10000)={ local( t=[4], tt=1 ); while( LIM > tt*=10, t=concat([t,t+vector(#t,i,3)*tt,t+vector(#t,i,4)*tt])); /*print("t="t);*/ t=Set(t); tt=[]; for(i=1,LIM, setsearch(t,i^2%LIM) && tt=concat(tt,i)); concat(tt,LIM+tt[1])}
    A058429(Nmax=1e19,N=2,addMod=100000,debug=1)={my( a=[], Nnext, N2, numDigits, place, addNext=admissibleMod(addMod=round(addMod)), d=1, add=vector(addMod,i,if(i-1>addNext[d],d++);addNext[d]-i+1), nextOK=[0,2,1,0,0,5,4,3,2,1], pow10 = vector( d=#Str((Nmax=round(Nmax))^2), i, 10^(i-1)) ); nextOK = vector( #nextOK, i, if( nextOK[i],nextOK[i]*pow10)); N=round(N); while( Nmax >= N, numDigits = #Str(N2=N^2); 3 > N2 \ pow10[numDigits] && N = sqrtint( 3*pow10[numDigits]+3 )+1; Nnext = min( Nmax, sqrtint(pow10[numDigits]*10)\3*2); if( debug, print( "checking from "N" to "Nnext": <= ",1+max(0,Nnext-N)*(#addNext-1) \ addMod," candidates.")); N += add[1+ N%addMod]; place=1; while( Nnext >= N, dr = divrem( N2=N^2, pow10[ place=numDigits ] ); while( place-- && !d=nextOK[1+ (dr = divrem( dr[2], pow10[ place ] ))[1]], ); place || break; N = sqrtint( N2 - dr[2] + d[ place ])+1; N+=add[1+N%addMod]); if( !place, debug && print( N, "^2 = ", N^2); a=concat(a,N); N=Nnext+1 ); N=Nnext*5\2);a } \\ (End)

Extensions

a(6) from M. F. Hasler, May 14 2007
a(7) from Mishima's page added by Max Alekseyev, Jul 13 2009