Dado un número n, encuentre el MCD de sus dígitos.
Ejemplos:
Input : 345 Output : 1 GCD of 3, 4 and 5 is 1. Input : 2448 Output : 2 GCD of 2, 4, 4 and 8 is 2
Atravesamos los dígitos del número uno por uno usando el siguiente bucle
digit = n mod 10; n = n / 10;
Mientras recorremos los dígitos, hacemos un seguimiento del GCD actual y seguimos actualizando el GCD al encontrar el GCD del dígito actual con el GCD actual.
C++
// CPP program to find GCD of digits of a number #include<iostream> #include<algorithm> using namespace std; int digitGCD(int n) { int gcd = 0; while (n > 0) { gcd = __gcd(n%10, gcd); // If at point GCD becomes 1, // return it if (gcd == 1) return 1; n = n/10; } return gcd; } // driver code int main() { long n = 2448; cout << digitGCD(n); return 0; }
Java
// Java program to find GCD of digits of a number class GFG { // Recursive function to return gcd of a and b static int __gcd(int a, int b) { return b == 0 ? a : __gcd(b, a % b); } static int digitGCD(int n) { int gcd = 0; while (n > 0) { gcd = __gcd(n % 10, gcd); // If at point GCD becomes 1, // return it if (gcd == 1) return 1; n = n / 10; } return gcd; } // Driver code public static void main (String[] args) { int n = 2448; System.out.print(digitGCD(n)); } } // This code is contributed by Anant Agarwal.
Python3
# Python program to find # GCD of digits of a number # Recursive function to return gcd of a and b def __gcd(a,b): return a if(b==0) else __gcd(b, a % b) def digitGCD(n): gcd = 0 while (n > 0): gcd = __gcd(n % 10, gcd) # If at point GCD becomes 1, # return it if (gcd == 1): return 1 n = n // 10 return gcd #Driver code n = 2448 print(digitGCD(n)) # This code is contributed # by Anant Agarwal.
C#
// C# program to find GCD of // digits of a number using System; class GFG { // Recursive function to return // gcd of a and b static int __gcd(int a, int b) { return b == 0 ? a : __gcd(b, a % b); } static int digitGCD(int n) { int gcd = 0; while (n > 0) { gcd = __gcd(n % 10, gcd); // If at point GCD becomes 1, // return it if (gcd == 1) return 1; n = n / 10; } return gcd; } // Driver code public static void Main () { int n = 2448; Console.Write(digitGCD(n)); } } // This code is contributed by Nitin Mittal.
PHP
<?php // PHP program to find GCD // of digits of a number // Recursive function to // return gcd of a and b function __gcd($a,$b) { return $b == 0 ? $a : __gcd($b, $a % $b); } function digitGCD($n) { $gcd = 0; while ($n > 0) { $gcd = __gcd($n % 10, $gcd); // If at point GCD // becomes 1, return it if ($gcd == 1) return 1; $n = $n / 10; } return $gcd; } // Driver code $n = 2448; echo digitGCD($n); // This code is contributed by Sam007 ?>
Javascript
<script> // javascript program to find GCD of digits of a number // Recursive function to return gcd of a and b function __gcd(a, b) { return b == 0 ? a : __gcd(b, a % b); } function digitGCD(n) { var gcd = 0; while (n > 0) { gcd = __gcd(n % 10, gcd); // If at point GCD becomes 1, // return it if (gcd == 1) return 1; n = parseInt(n / 10); } return gcd; } // Driver code var n = 2448; document.write(digitGCD(n)); // This code is contributed by aashish1995 </script>
Producción :
2
Complejidad de tiempo: O (logn)
Espacio Auxiliar: O(1)
Este artículo es una contribución de Dibyendu Roy Chaudhuri . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA