Un programa Shell para encontrar el GCD | linux

El problema dado se preguntó en la ronda de entrevistas de colocación de fico. Encuentre el mcd de dos números dados usando secuencias de comandos de shell 
Nos dan dos números A y B y ahora la tarea es encontrar el máximo común divisor (mcd) de dos números dados usando secuencias de comandos de shell.
Preguntado en entrevista: FICO
Ejemplo: 
 

Input
 25 15
Output
 5

CPP

// Script for finding gcd of two number
// echo is for printing the message 
echo Enter two numbers with space in between
 
// read for scanning
read a b
 
// Assigning the value of a to m
m = $a
 
// Condition checking if b greater than m
// If yes the replace the value of m assign a new value
if [ $b -lt $m ]
then
m = $b
fi
 
// In do while  loop we are checking the gcd
while [ $m -ne 0 ]
do
x = `expr $a % $m`
y = `expr $b % $m`
 
// If x and y both are 0 then we complete over
// process and we print  the gcd
if [ $x -eq 0 -a $y -eq 0 ]
then
 
// Printing the greatest gcd of two given number
echo gcd of $a and $b is $m
break
fi
m = `expr $m - 1`
 
done

El script de shell para el código anterior es:

echo Enter two numbers with space in between
read a b
//reads numbers
m=$a
if [ $b -lt $m ]
then
m=$b
fi
while [ $m -ne 0 ]
do
x=`expr $a % $m`
y=`expr $b % $m`
if [ $x -eq 0 -a $y -eq 0 ]
then
echo gcd of $a and $b is $m
break
fi
m=`expr $m - 1`
done

Este artículo es una contribución de Ajay Puri . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *