OFFSET
0,3
COMMENTS
If the binary operation mod is defined n mod k = n if k = 0 and otherwise n - k*floor(n/k), as recommended in 'Concrete Mathematics' by Graham et. al. (p. 82), then a(n) = Sum_{k=0..n} (n mod k), for n >= 0. This definition is for example implemented in Sage, but not in Python. - Peter Luschny, Jul 19 2024
Previous name was "Sum of the element of the antidiagonals of the numerical array M(m, n) defined as follows. First row (M11, M12, ..., M1n): 1, 1, 1, 1, 1, 1, ... (all 1's). Second row (M21, M22, ..., M2n): 1, 2, 1, 2, 1, 2, ... (sequence 1, 2 repeated). Third row (M31, M32, ..., M3n): 1, 2, 3, 1, 2, 3, 1, 2, 3, ... (sequence 1, 2, 3 repeated). Fourth row (M41, M42, ..., M4n): 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, ... (sequence 1, 2, 3, 4 repeated). And so on."
Then the sequence is M(1,1), M(1,2) + M(2,1), M(1,3) + M(2,2) + M(3,1), etc., a(n) = Sum_{i=1..n} M(i, n-i+1).
This means: a(n) are the antidiagonal sums of the numerical array defined by M(n, k) = 1 + (k-1) mod n. - Michel Marcus, Sep 23 2013
The successive determinants of the arrays are the factorial numbers (A000142). - Robert G. Wilson v
REFERENCES
Ronald L. Graham, Donald E. Knuth and Oren Patashnik, Concrete Mathematics, 2nd ed., Addison-Wesley, 1994, 34th printing 2022.
LINKS
Robert Israel, Table of n, a(n) for n = 0..10000
FORMULA
a(n) = n + A004125(n). - Juri-Stepan Gerasimov, Aug 30 2009
a(n) = Sum_{i=1..n+1} (n mod i). - Wesley Ivan Hurt, Dec 05 2014
G.f.: 2*x/(1-x)^3 - (1-x)^(-1)*Sum_{k>=1} k*x^k/(1-x^k). - Robert Israel, Oct 11 2015
a(n) = (1 - Pi^2/12) * n^2 + O(n*log(n)). - Amiram Eldar, Dec 04 2023
EXAMPLE
If the mod operation is defined according CMath, and n = 11, then the list
[n mod k : k = 0..n] = [11, 0, 1, 2, 3, 1, 5, 4, 3, 2, 1, 0], and the total of this list is a(11) = 33.
MAPLE
seq(n + add(irem(n, k), k = 2..n-1), n = 0..58); # Peter Luschny, Jul 19 2024
MATHEMATICA
t = Table[Flatten@Table[Range@n, {m, Ceiling[99/n]}], {n, 99}]; f[n_] := Sum[ t[[i, n - i + 1]], {i, n}]; Array[f, 58] (* Robert G. Wilson v, Nov 22 2005 *)
(* to view table *) Table[Flatten@Table[Range@n, {m, Ceiling[40/n]}], {n, 10}] // TableForm
PROG
(PARI) vector(100, n, n + sum(k=2, n, n % k)) \\ Altug Alkan, Oct 12 2015
(PARI) a(n) = sum(k=1, n, 2*k-sigma(k)); \\ Michel Marcus, Oct 11 2015
(Python)
from math import isqrt
def A111490(n): return n*(n+1)+((s:=isqrt(n))**2*(s+1)-sum((q:=n//k)*((k<<1)+q+1) for k in range(1, s+1))>>1) # Chai Wah Wu, Nov 01 2023
(Python)
def a(n): return sum(n % k if k else n for k in range(n))
print([a(n) for n in range(59)]) # Peter Luschny, Jul 19 2024
(SageMath)
def a(n): return sum(n.mod(k) for k in range(n))
print([a(n) for n in srange(59)]) # Peter Luschny, Jul 19 2024
CROSSREFS
KEYWORD
nonn,easy
AUTHOR
Paolo P. Lava and Giorgio Balzarotti, Nov 21 2005
EXTENSIONS
Edited and extended by Robert G. Wilson v, Nov 22 2005
Prepending a(0) = 0 and new name using a formula of Juri-Stepan Gerasimov by Peter Luschny, Jul 19 2024
STATUS
approved