login
Numbers m such that m concatenated with k produces a cube for some 0 <= k <= m.
1

%I #36 Mar 01 2023 14:29:04

%S 6,12,21,34,49,51,58,68,72,92,100,106,121,133,138,156,172,175,195,196,

%T 219,243,262,274,297,327,337,359,373,405,409,428,466,491,506,531,548,

%U 551,583,593,614,658,681,685,689,740,753,778,800,804,830,851,857,884

%N Numbers m such that m concatenated with k produces a cube for some 0 <= k <= m.

%C Numbers k such that A243092(k) <> A245631(k).

%H Chai Wah Wu, <a href="/A360570/b360570.txt">Table of n, a(n) for n = 1..10000</a>

%e 64 = 4^3 is a cube and 4 <= 6, thus 6 is a term.

%e 343 = 7^3 is a cube and 3 <= 34, thus 34 is a term.

%e 1000 = 10^3 is a cube and 0 <= 100, thus 100 is a term.

%e 5359375 = 175^3 is a cube and 375 <= 5359, thus 5359 is a term.

%p filter:= proc(n) local d,a,b,r,rmin,i;

%p for d from 1 to ilog10(n)+1 do

%p a:=ceil((10^d*n)^(1/3));

%p b:= floor((10^d*(n+1))^(1/3));

%p if d = 1 then rmin:= 0 else rmin:= 10^(d-1) fi;

%p for i from a to b do

%p r:= i^3 -10^d*n;

%p if r >= min(10^d,n+1) then break fi;

%p if r < rmin then next fi;

%p return true

%p od

%p od;

%p false

%p end proc:

%p select(filter, [$1..1000]); # _Robert Israel_, Feb 22 2023

%o (Python)

%o from itertools import count, islice

%o from sympy import integer_nthroot

%o def A360570_gen(startvalue=1): # generator of terms >= startvalue

%o for n in count(max(startvalue,1)):

%o if integer_nthroot(m:=10*n,3)[1]:

%o yield n

%o else:

%o a = 1

%o while (k:=(integer_nthroot(a*(m+1)-1,3)[0]+1)**3-m*a)>=10*a:

%o a *= 10

%o if a > n:

%o break

%o else:

%o if k <= n:

%o yield n

%o A360570_list = list(islice(A360570_gen(),20))

%o (PARI) is(n) = { for (k=0, n, if (ispower(n*10^max(1,#digits(k))+k, 3), return (1))); return (0) } \\ _Rémy Sigrist_, Feb 20 2023

%Y Cf. A243092, A245631.

%K nonn,base

%O 1,1

%A _Chai Wah Wu_, Feb 20 2023