|
|
A051802
|
|
Nonzero multiplicative digital root of n.
|
|
35
|
|
|
1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 2, 4, 6, 8, 1, 2, 4, 6, 8, 3, 3, 6, 9, 2, 5, 8, 2, 8, 4, 4, 4, 8, 2, 6, 2, 8, 6, 6, 8, 5, 5, 1, 5, 2, 1, 3, 5, 4, 2, 6, 6, 2, 8, 8, 3, 8, 8, 6, 2, 7, 7, 4, 2, 6, 5, 8, 8, 3, 8, 8, 8, 6, 8, 6, 4, 6
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,3
|
|
COMMENTS
|
Occasionally defined with a(0) = 0.
|
|
REFERENCES
|
Discussed Jun 15 1991 on sci.math by Mayne, Rusin, Landrum et al.
|
|
LINKS
|
|
|
FORMULA
|
|
|
MAPLE
|
A051801 := proc(n) local d, j: d:=convert(n, base, 10): return mul(`if`(d[j]=0, 1, d[j]), j=1..nops(d)): end: A051802 := proc(n) local m: if(n=0)then return 1:fi: m:=n: while(length(m)>1)do m:=A051801(m): od: return m: end: seq(A051802(n), n=0..100); # Nathaniel Johnston, May 04 2011
|
|
MATHEMATICA
|
mdr0[n_] := NestWhile[Times @@ (IntegerDigits@# /. 0 -> 1) &, n, UnsameQ, All]; Table[ mdr0@n, {n, 0, 104}] (* Robert G. Wilson v, Aug 04 2006 *)
|
|
PROG
|
(Haskell)
(PARI) A051801(n)=my(v=select(k->k>1, digits(n))); prod(i=1, #v, v[i])
(Python)
from operator import mul
from functools import reduce
if n == 0:
return 1
while n > 9:
n = reduce(mul, (int(d) for d in str(n) if d != '0'))
return n
(Scala) def zeroLessIterDigitProd(n: Int): Int = n.toString.length match {
case 1 => n
case _ => zeroLessIterDigitProd(n.toString.replace("0", "").toCharArray.map(_ - 48).scanRight(1)(_ * _).head)
} // Note that zeroLessIterDigitProd(0) gives 0, not 1
List(1) ++: (1 to 99).map(zeroLessIterDigitProd) // Alonso del Arte, Apr 19 2020
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,easy,base,nice
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|