A052423 Highest common factor of nonzero digits of n.
1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 1, 3, 1, 1, 3, 1, 1, 3, 4, 1, 2, 1, 4, 1, 2, 1, 4, 1, 5, 1, 1, 1, 1, 5, 1, 1, 1, 1, 6, 1, 2, 3, 2, 1, 6, 1, 2, 3, 7, 1, 1, 1, 1, 1, 1, 7, 1, 1, 8, 1, 2, 1, 4, 1, 2, 1, 8, 1, 9, 1, 1, 3, 1, 1, 3, 1, 1, 9, 1, 1, 1
Offset: 1
Examples
a(46) = 2 because the highest common factor of 4 and 6 is 2. a(47) = 1 because the highest common factor of 4 and 7 is 1.
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
Crossrefs
Cf. A007954.
Programs
-
Haskell
a052423 n = f n n where f x 1 = 1 f x y | x < 10 = gcd x y | otherwise = if d == 1 then 1 else f x' (gcd d y) where (x', d) = divMod x 10 -- Reinhard Zumkeller, Apr 14 2014
-
Maple
a:= n-> igcd(subs(0=[][], convert(n, base, 10))[]): seq(a(n), n=1..100); # Alois P. Heinz, Apr 04 2020
-
Mathematica
Table[Apply[GCD, IntegerDigits[n]], {n, 100}] (* Alonso del Arte, Apr 02 2020 *)
-
PARI
a(n) = my(d=digits(n)); gcd(select(x->(x!=0), d)); \\ Michel Marcus, Apr 04 2020
-
Scala
def euclGCD(a: Int, b: Int): Int = b match { case 0 => a; case n => Math.abs(euclGCD(b, a % b)) } def digitGCD(n: Int) = n.toString.toCharArray.map( - 48).scanLeft(0)(euclGCD(, _)).last (1 to 100).map(digitGCD()) // _Alonso del Arte, Apr 02 2020
Formula
a(A069715(n)) = 1. - Reinhard Zumkeller, Apr 14 2014