A235049 Subtract one from each nonzero digit in decimal representation of n.
0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60
Offset: 0
Examples
Subtracting one from each nonzero digit of '9', we get 8, thus a(9)=8. Doing same for '10' results '00' thus a(10)=0. For '12', this results '01', thus a(12)=1.
Links
Crossrefs
Cf. A007095.
Programs
-
Haskell
a235049 x = if x == 0 then 0 else 10 * a235049 x' + max 0 (d - 1) where (x', d) = divMod x 10 -- Reinhard Zumkeller, Apr 16 2014
-
Mathematica
a[n_] := FromDigits[If[#>0, #-1, #]& /@ IntegerDigits[n]]; Table[a[n], {n, 0, 100}] (* Jean-François Alcover, Jan 13 2023 *)
Formula
a(0) = 0, and for n>=1, if n = 0 modulo 10, a(n) = 10*a(n/10), otherwise a(n) = 10*a(floor(n/10)) + (n modulo 10) - 1.
Comments