login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A031347 Multiplicative digital root of n (keep multiplying digits of n until reaching a single digit). 67
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 2, 4, 6, 8, 0, 2, 4, 6, 8, 0, 3, 6, 9, 2, 5, 8, 2, 8, 4, 0, 4, 8, 2, 6, 0, 8, 6, 6, 8, 0, 5, 0, 5, 0, 0, 0, 5, 0, 0, 0, 6, 2, 8, 8, 0, 8, 8, 6, 0, 0, 7, 4, 2, 6, 5, 8, 8, 0, 8, 0, 8, 6, 8, 6, 0, 6 (list; graph; refs; listen; history; text; internal format)
OFFSET
0,3
COMMENTS
a(n) = 0 for almost all n. - Charles R Greathouse IV, Oct 02 2013
More precisely, a(n) = 0 asymptotically almost surely, namely, among others, for all numbers n which have a digit '0', and as n has more and more digits, it becomes increasingly less probable that no digit is equal to zero. (The set A011540 has density 1.) Thus the density of numbers for which a(n) > 0 is zero, although this happens for infinitely many numbers, for example all repunits n = (10^k - 1)/9 = A002275(k). - M. F. Hasler, Oct 11 2015
LINKS
Eric Weisstein's World of Mathematics, Multiplicative Digital Root.
FORMULA
a(n) = d in {1, ..., 9} if (but not only if) n = (10^k - 1)/9 + (d - 1)*10^m = A002275(k) + (d - 1)*A011557(m) for some k > m >= 0. - M. F. Hasler, Oct 11 2015
MAPLE
A007954 := proc(n) return mul(d, d=convert(n, base, 10)): end: A031347 := proc(n) local m: m:=n: while(length(m)>1)do m:=A007954(m): od: return m: end: seq(A031347(n), n=0..100); # Nathaniel Johnston, May 04 2011
MATHEMATICA
mdr[n_] := NestWhile[Times @@ IntegerDigits@# &, n, UnsameQ, All]; Table[ mdr[n], {n, 0, 104}] (* Robert G. Wilson v, Aug 04 2006 *)
Table[NestWhile[Times@@IntegerDigits[#] &, n, # > 9 &], {n, 0, 90}] (* Harvey P. Dale, Mar 10 2019 *)
PROG
(PARI) A031347(n)=local(resul); if(n<10, return(n) ); resul = n % 10; n = (n - n%10)/10; while( n > 0, resul *= n %10; n = (n - n%10)/10; ); return(A031347(resul))
for(n=1, 80, print1(A031347(n), ", ")) \\ R. J. Mathar, May 23 2006
(PARI) A031347(n)={while(n>9, n=prod(i=1, #n=digits(n), n[i])); n} \\ M. F. Hasler, Dec 07 2014
(Haskell)
a031347 = until (< 10) a007954
-- Reinhard Zumkeller, Oct 17 2011, Sep 22 2011
(Python)
from operator import mul
from functools import reduce
def A031347(n):
while n > 9:
n = reduce(mul, (int(d) for d in str(n)))
return n
# Chai Wah Wu, Aug 23 2014
(Python)
from math import prod
def A031347(n):
while n > 9: n = prod(map(int, str(n)))
return n
print([A031347(n) for n in range(100)]) # Michael S. Branicky, Apr 17 2024
(Scala) def iterDigitProd(n: Int): Int = n.toString.length match {
case 1 => n
case _ => iterDigitProd(n.toString.toCharArray.map(_ - 48).scanRight(1)(_ * _).head)
}
(0 to 99).map(iterDigitProd) // Alonso del Arte, Apr 11 2020
CROSSREFS
Cf. A007954, A007953, A003001, A010888 (additive digital root of n), A031286 (additive persistence of n), A031346 (multiplicative persistence of n).
Numbers having multiplicative digital roots 0-9: A034048, A002275, A034049, A034050, A034051, A034052, A034053, A034054, A034055, A034056.
Sequence in context: A175420 A062078 A371281 * A087471 A128212 A187844
KEYWORD
nonn,base,easy,nice,changed
AUTHOR
STATUS
approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 27 18:09 EDT 2024. Contains 372020 sequences. (Running on oeis4.)