VOOZH about

URL: https://oeis.org/A381886

⇱ A381886 - OEIS


login
A381886
Triangle read by rows: T(n, k) = Sum_{j=1..floor(log[k](n))} floor(n / k^j) if k >= 2, T(n, 1) = n, T(n, 0) = 0^n.
1
1, 0, 1, 0, 2, 1, 0, 3, 1, 1, 0, 4, 3, 1, 1, 0, 5, 3, 1, 1, 1, 0, 6, 4, 2, 1, 1, 1, 0, 7, 4, 2, 1, 1, 1, 1, 0, 8, 7, 2, 2, 1, 1, 1, 1, 0, 9, 7, 4, 2, 1, 1, 1, 1, 1, 0, 10, 8, 4, 2, 2, 1, 1, 1, 1, 1, 0, 11, 8, 4, 2, 2, 1, 1, 1, 1, 1, 1, 0, 12, 10, 5, 3, 2, 2, 1, 1, 1, 1, 1, 1
OFFSET
0,5
LINKS
Jeffrey C. Lagarias and Wijit Yangjit, The factorial function and generalizations, extended, arXiv:2310.12949 [math.NT], 2023.
A. M. Oller-Marcen and J. Maria Grau, On the Base-b Expansion of the Number of Trailing Zeros of b^k!, J. Int. Seq. 14 (2011) 11.6.8.
FORMULA
T(n, k) = Sum_{j=1..n} valuation(j, k) for n >= 2.
EXAMPLE
Triangle starts:
[ 0] 1;
[ 1] 0, 1;
[ 2] 0, 2, 1;
[ 3] 0, 3, 1, 1;
[ 4] 0, 4, 3, 1, 1;
[ 5] 0, 5, 3, 1, 1, 1;
[ 6] 0, 6, 4, 2, 1, 1, 1;
[ 7] 0, 7, 4, 2, 1, 1, 1, 1;
[ 8] 0, 8, 7, 2, 2, 1, 1, 1, 1;
[ 9] 0, 9, 7, 4, 2, 1, 1, 1, 1, 1;
[10] 0, 10, 8, 4, 2, 2, 1, 1, 1, 1, 1;
[11] 0, 11, 8, 4, 2, 2, 1, 1, 1, 1, 1, 1;
[12] 0, 12, 10, 5, 3, 2, 2, 1, 1, 1, 1, 1, 1;
MAPLE
T := (n, b) -> local i; ifelse(b = 0, b^n, ifelse(b = 1, n, add(iquo(n, b^i), i = 1..floor(log(n, b))))): seq(seq(T(n, b), b = 0..n), n = 0..12);
# Alternative:
T := (n, k) -> local j; ifelse(k = 0, k^n, ifelse(k = 1, n, add(padic:-ordp(j, k), j = 1..n))): for n from 0 to 12 do seq(T(n, k), k = 0..n) od;
MATHEMATICA
T[n_, 0] := If[n == 0, 1, 0]; T[n_, 1] := n;
T[n_, k_] := Last@Accumulate[IntegerExponent[Range[n], k]];
Table[T[n, k], {n, 0, 12}, {k, 0, n}] // MatrixForm
(* Alternative: *)
T[n_, k_] := Sum[Floor[n/k^j], {j, Floor[Log[k, n]]}]; T[n_, 1] := n; T[n_, 0] := 0^n; T[0, 0] = 1; Flatten@ Table[T[n, k], {n, 0, 12}, {k, 0, n}] (* Michael De Vlieger, Apr 03 2025 *)
PROG
(Python)
from math import log
def T(n: int, b: int) -> int:
return (b**n if b == 0 else n if b == 1 else
sum(n // (b**i) for i in range(1, 1 + int(log(n, b)))))
print([[T(n, b) for b in range(n+1)] for n in range(12)])
(SageMath)
def T(n, b): return (b^n if b == 0 else n if b == 1 else sum(valuation(j, b) for j in (1..n)))
print(flatten([[T(n, b) for b in range(n+1)] for n in srange(13)]))
(PARI) T(n, k) = if (n==0, 1, if (n==1, k, if (k==0, 0, if (k==1, n, sum(j=1, n, valuation(j, k))))));
row(n) = vector(n+1, k, T(n, k-1)); \\ Michel Marcus, Apr 04 2025
CROSSREFS
Cf. A011371 (column 2), A054861 (column 3), A054893 (column 4), A027868 (column 5), A054895 (column 6), A054896 (column 7), A054897 (column 8), A054898 (column 9), A078651 (row sums).
Sequence in context: A376498 A176808 A327029 * A167192 A335435 A363048
KEYWORD
nonn,tabl
AUTHOR
Peter Luschny, Apr 03 2025
STATUS
approved