\\ returns k such that n is the k-th zeroless number in base b K(b, n) = { my (d = digits(n, b)); sum(w = 0, #d-1, (b-1)^w) + if (b > 2, fromdigits(apply (t -> t-1, d), b-1), 0); } a(n, b = 3) = { my (v = 1, pi = 1, d); while (n, if (n % b, my (nz = 0, p = 1); while (n % b, nz += (n % b) * p; n \= b; p *= b; ); v *= prime(pi) ^ K(b, nz); , n /= b; pi++; ); ); return (v); } { for (n = 0, 10 000, print (n " " a(n)) ) } quit