|
|
A225693
|
|
Alternating sum of digits of n.
|
|
16
|
|
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, 8, 7, 6, 5, 4, 3, 2
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
COMMENTS
|
A number n is divisible by 11 if and only if a(n) is divisible by 11. For generalizations see Sharpe and Webster, or the links below.
The primes p for which the absolute value of the alternating sum of digits of p is also a prime begin: 2, 3, 5, 7, 13, 29, 31, 41, 47, 53, 61, 79, 83, 97, 101, 113, 137, 139, 151. - Jonathan Vos Post, May 27 2013
Digital sum with alternating signs starting with a positive sign for the most significant digit. - Hieronymus Fischer, Mar 23 2014
|
|
LINKS
|
|
|
FORMULA
|
If n has decimal expansion abc..xyz with least significant digit z, a(n) = a - b + c - d + ...
Formulas for general bases b > 1 (b = 10 for this sequence). Always m := floor(log_b(n)).
a(n) = Sum_{k>=0} (-1)^k*(floor(n*b^(k-m)) mod b). The sum is finite with floor(log_b(n)) as the highest index.
a(n) = (-1)^m*n - (b+1)*Sum_{k=1..m} (-1)^k*floor(n*b^(k-m-1)).
a(n) = (-1)^m*(n + (b+1)*Sum_{k>=1} (-1)^k*floor(n/b^k)).
a(n) = -(-1)^(m-k)*a(n mod b^k) + a(floor(n/b^k)), for 0 <= k <= m+1.
a(n) = (-1)^m*a(n mod b) + a(floor(n/b)).
a(n) = -(-1)^m*a(n mod b^2) + a(floor(n/b^2)).
(End)
|
|
MAPLE
|
t1:=convert(n, base, 10);
add((-1)^(i+nops(t1))*t1[i], i=1..nops(t1));
end;
|
|
MATHEMATICA
|
Table[Total[Times@@@Partition[Riffle[IntegerDigits[n], {1, -1}, {2, -1, 2}], 2]], {n, 0, 90}] (* Harvey P. Dale, Nov 27 2015 *)
|
|
PROG
|
(Smalltalk)
"Version for general bases"
"Set base = 10 for this sequence"
altDigitalSumLeft: base
base > 1 ifTrue: [m:= self integerFloorLog: base]
ifFalse: [^self \\ 2].
p:=1.
s:=0.
1 to: m by: 2 do: [ :k |
p := p*base.
s := s - (self // p) .
p := p*base.
s := s + (self // p) ].
^(self + ((base + 1)*s)) * (m alternate)
"Version for base 10 using altDigitalSumRight from A055017"
^(self A004086) altDigitalSumLeft: 10
(Haskell)
a225693 = f 1 0 where
f _ a 0 = a
f s a x = f (negate s) (s * a + d) x' where (x', d) = divMod x 10
(Python)
def a(n): return sum(int(d)*(-1)**i for i, d in enumerate(str(n)))
(PARI) a(n) = my(d=digits(n)); sum(k=1, #d, (-1)^(k+1)*d[k]); \\ Michel Marcus, Jul 15 2022
|
|
CROSSREFS
|
A055017 is closely related (but less natural).
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|