OFFSET
0,2
COMMENTS
a(n) = -n in carryless arithmetic mod 10 - that is, n + a(n) = 0 (cf. A169894). - N. J. A. Sloane, Aug 03 2010
LINKS
N. J. A. Sloane, Table of n, a(n) for n = 0..10000
David Applegate, Marc LeBrun and N. J. A. Sloane, Carryless Arithmetic (I): The Mod 10 Version.
FORMULA
From Robert Israel, Sep 04 2017: (Start)
a(10*n) = 10*a(n).
a(10*n+j) = 10*a(n) + 10 - j for 1 <= j <= 9.
G.f. g(x) satisfies g(x) = 10*(1+x+x^2+...+x^9)*g(x^10) + (9*x+8*x^2+7*x^3+6*x^4+5*x^5+4*x^6+3*x^7+2*x^8+x^9)/(1-x^10).
(End)
EXAMPLE
a(11) = 99 because 1 + 9 = 0 mod 10 for each digit.
a(20) = 80 because 2 + 8 = 0 mod 10 and 0 + 0 = 0 mod 10.
MAPLE
f:=proc(n) local t0, t1, i;
t0:=0; t1:=convert(n, base, 10);
for i from 1 to nops(t1) do
if t1[i]>0 then t0:=t0+(10-t1[i])*10^(i-1); fi;
od:
RETURN(t0);
end;
# N. J. A. Sloane, Jan 21 2011
MATHEMATICA
a[n_] := FromDigits[ IntegerDigits[n] /. d_?Positive -> 10-d]; Table[a[n], {n, 0, 100}](* Jean-François Alcover, Nov 28 2011 *)
PROG
(Haskell)
a055120 = foldl f 0 . reverse . unfoldr g where
f v d = if d == 0 then 10 * v else 10 * v + 10 - d
g x = if x == 0 then Nothing else Just $ swap $ divMod x 10
-- Reinhard Zumkeller, Oct 04 2011
(PARI) a(n)=fromdigits(apply(d->if(d, 10-d, 0), digits(n))) \\ Charles R Greathouse IV, Feb 08 2017
(Python)
def A055120(n): return int(''.join(str(10-int(d)) if d != '0' else d for d in str(n))) # Chai Wah Wu, Apr 03 2021
CROSSREFS
KEYWORD
base,easy,nice,nonn
AUTHOR
Henry Bottomley, Apr 19 2000
STATUS
approved