login
A124685
Position of the first 0 in the decimal expansion of the cube root of n, or -1 if this digit never appears.
0
1, -1, 8, 10, 6, 3, 7, 18, -1, 2, 10, 7, 12, 13, 4, 8, 8, 10, 4, 6, 15, 16, 3, 27, 10, 5, 8, -1, 2, 2, 3, 7, 6, 3, 9, 5, 3, 19, 9, 11, 21, 10, 5, 3, 4, 9, 5, 3, 35, 6, 5, 3, 25, 14, 21, 3, 18, 6, 4, 16, 26, 12, 9, 5, -1, 2, 2, 2, 2, 3, 12, 4, 4, 20, 12, 12, 33, 7, 34, 4, 3, 10, 18, 5, 24, 21, 5, 5, 7, 8, 6, 25, 14, 4, 21, 6, 10, 6, 4, 5, 22
OFFSET
0,3
PROG
(PARI) digitposcbrt(n, m) = \ cbrt expansion { local(x, y, r, dot); for(x=0, n, r = (x^(1/3)); if(iscube(x), y=find(Str(floor(r)), m), y=find(Str(r), m); dot=find(Str(r), "."); if(dot < y, y--); ); if(y, print1(y", "), print1(-1", ") ) ) } find(str, match) = \Return the position of the first occurrence of string \match in string str { local(lnm, lns, x, c, i); str=Str(str); \This allows leaving quotes off input match=Str(match); c=0; i=0; lns=length(str); lnm=length(match); if(lnm>1, i=1); x=1; while(x<=lns-lnm+1, if(mid(str, x, lnm)== match, break, x++); ); if(x>lns, return(0), return(x)) } mid(str, s, n) = \ Get a substring of length n from string str starting at position s in str. { local(v, ln, x, tmp); v =""; tmp = Vec(str); ln=length(tmp); for(x=s, s+n-1, v=concat(v, tmp[x]); ); return(v) } iscube(n) = { local(r); r = n^(1/3); if(floor(r+.5)^3== n, 1, 0) }
CROSSREFS
Sequence in context: A227571 A112590 A105386 * A105021 A343212 A273651
KEYWORD
base,easy,sign
AUTHOR
Cino Hilliard, Dec 24 2006
STATUS
approved