A276088 The least significant nonzero digit in primorial base representation of n: a(n) = A276094(n) / A002110(A276084(n)) (with a(0) = 0).
0, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 3, 1, 1, 1, 2, 1, 4, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 3, 1, 1, 1, 2, 1, 4, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 3, 1, 1, 1, 2, 1, 4, 1, 1, 1, 2, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 3, 1, 1, 1, 2, 1, 4, 1, 1, 1, 2, 1, 4
Offset: 0
Examples
n A049345 the rightmost nonzero = a(n) --------------------------------------------------------- 0 0 0 1 1 1 2 10 1 3 11 1 4 20 2 5 21 1 6 100 1 7 101 1 8 110 1 9 111 1 10 120 2 11 121 1 12 200 2 13 201 1 14 210 1 15 211 1 16 220 2 . For n=48 according to the iteration interpretation, we obtain first 48/2 = 24, and the remainder is zero, so we continue: 24/3 = 8 and here the remainder is zero as well, so we try next 8/5, but this gives the nonzero remainder 3, thus a(48)=3. For n=2100, which could be written "A0000" in primorial base (where A stands for digit "ten", as 2100 = 10*A002110(4)), the least significant nonzero value holder (also the most significant) is thus 10 and a(2100) = 10. (The first point where this sequence attains a value larger than 9).
Links
Crossrefs
Programs
-
Mathematica
nn = 120; b = MixedRadix[Reverse@ Prime@ Range@ PrimePi[nn + 1]]; Table[Last[IntegerDigits[n, b] /. 0 -> Nothing, 0], {n, 0, nn}] (* Version 11, or *) f[n_] := Block[{a = {{0, n}}}, Do[AppendTo[a, {First@ #, Last@ #} &@ QuotientRemainder[a[[-1, -1]], Times @@ Prime@ Range[# - i]]], {i, 0, #}] &@ NestWhile[# + 1 &, 0, Times @@ Prime@ Range[# + 1] <= n &]; Rest[a][[All, 1]]]; {0}~Join~Table[Last@ DeleteCases[f@ n, d_ /; d == 0], {n, 120}] (* Michael De Vlieger, Aug 30 2016 *)
-
PARI
A276088(n) = { my(e=0, p=2); while(n && !(e=(n%p)), n = n/p; p = nextprime(1+p)); (e); }; \\ Antti Karttunen, Oct 29 2019
-
Python
from sympy import nextprime, primepi, primorial def a053669(n): p = 2 while True: if n%p!=0: return p else: p=nextprime(p) def a257993(n): return primepi(a053669(n)) def a002110(n): return 1 if n<1 else primorial(n) def a276094(n): return 0 if n==0 else n%a002110(a257993(n)) def a(n): return 0 if n==0 else a276094(n)//a002110(a257993(n) - 1) print([a(n) for n in range(101)]) # Indranil Ghosh, Jun 22 2017
-
Scheme
(define (A276088 n) (if (zero? n) n (let loop ((n n) (i 1)) (let* ((p (A000040 i)) (d (modulo n p))) (if (not (zero? d)) d (loop (/ (- n d) p) (+ 1 i)))))))
-
Scheme
(define (A276088 n) (if (zero? n) n (/ (A276094 n) (A002110 (A276084 n)))))
Comments