Red de conocimiento informático - Problemas con los teléfonos móviles - Programación de shell con mínimo común denominador y máximo común denominador 1) Implementación de programación de script de shell de Linux 2) El usuario pasa dos números enteros a través de los parámetros del script

Programación de shell con mínimo común denominador y máximo común denominador 1) Implementación de programación de script de shell de Linux 2) El usuario pasa dos números enteros a través de los parámetros del script

Abierto, error corregido, prueba superada: #! /bin/bash

#======================================= ===========================

#Autor?:?wang_qs?

#Info :?Encontrar el máximo común divisor y el mínimo común múltiplo de dos números?

#Entrada: ?LCM significa mínimo común múltiplo (mínimo común múltiplo)?

#Llamada:?lcm?12?15

#Fecha:?2010/12/17?-?modificar?formato

#xxxx:?2010 /12/17?-?Creación?

#-------------------------------- ---------- --------------------------------

#?¿Información de uso?

#----------------------------------------------- --- ------ ------------

Uso()

{ echo?"======== === ==============================" echo?"Encontrar el máximo común divisor y el mínimo común múltiplo de dos números" echo?"Uso:?lcm ?12?15" echo?"Retorno: ? máximo común divisor: 3, mínimo común múltiplo: 60."================ ==== =====================" salir?-1

}

#---- ---- ----------------------- ----------------------- -------

#?Prueba?para?entrada?válida?o?visualización?uso()?información

#--------- -------------------------------------------------- ----- ------

si?[? $#? -lt?2?];?entonces Uso

fi

#---- --------------------------------------------- ----- ----------

#Obtener los dos valores en el comando

#- --------- ------ -------------------------------------------- ------

num1=$1

num2=$2

#---------------- ------- ------- -----------------------------------

¿# operación? Primero busque uno de los números más pequeños y luego use ese número para realizar un bucle incremental

#2. >#

3. Durante la operación, registre las variables del bucle que son divisibles por números enteros

#4 Obtenga la variable opr más grande (máximo común divisor) que puede ser divisible por números enteros

#5. Resultado =num1/opr*num2/opr*opr=num1/opr*num2

#6.num2

#------ -------. -------------------------------------------------- --

#---------------------------------------- ----- --------------------- --

#get?num?:?1.GRANDE,2.PEQUEÑO

#------------------------------------------- ----- ------------------

si?[? $num1?-eq?$num2?];?

entonces

echo?"Máximo común divisor: ${num1}, mínimo común múltiplo: ${num1}".

salir

fi

si[? $num1?-gt?$num2?];?

entonces

GRAN=$num1

PEQUEÑO=$num2

¿exportar?GRAN

exportar?PEQUEÑO

si no

GRAN=$num2

PEQUEÑO=$ num1

exportar?GRAN

exportar?PEQUEÑO

fi

#echo?"¿GRAN?${GRAN}"

#echo?"PEQUEÑO?${PEQUEÑO}"

#---------- -------------------------------------------------- -----

#Programa para probar el máximo común divisor, inicializar variables

#tmp=`expr?$GREAT??$i`? media hora de depuración de sintaxis !!

#-------------------------------- ----------------------------

i=1

GCD_RESULT=1

greattmp=1

smalltmp=1

LCM_RESULT=1

exportar?i

exportar?greattmp

exportar?smalltmp

exportar?GCD_RESULT

exportar?LCM_ RESULT

mientras?[?$i?-

do

#echo?"LOOP?i:?${i}"

greattmp=`expr?$GREAT??$i`

smalltmp =`expr ?$PEQUEÑO??$i`

#echo?"greattmp?:? ${greattmp}"

#echo?"smalltmp?:? ${smalltmp} "

p>

¿si?[? ${greattmp}? -eq?0?];?¿entonces?

¿si?[? ${smalltmp}? -eq?0? ];?entonces

GCD_RESULT=${i}

fi

fi

i=`expr?${i}? ?1`

#echo?"GCD_RESULT?:? ${GCD_RESULT}"

hecho

#echo?${GCD_RESULT}

#-- --------------------------------------------- ----- -------------

#Máximo común múltiplo (GCD_RESULT)

# El mínimo común múltiplo se completa a continuación

#Para evitar variables, hay demasiados nombres, por lo que el resto aquí se reemplaza por smalltmp y greattmp

#5.result?=?num1/opr?*?num2/opr? *?opr?=?num1/opr?*?num2

#*Sig

n es el signo de multiplicación, considere escapar

#---------------------------------- - ---------------------------------

LCM_ RESULT=`expr?$SMALL?/ ? $GCD_RESULT `

#echo?"LCM_RESULT?:? ${LCM_RESULT}"

LCM_RESULT=`expr?$LCM_RESULT?\*?$GREAT`

echo ?"Máximo común divisor: ${GCD_RESULT}, mínimo común múltiplo: ${LCM_RESULT}".

#------------------------------------------ --- -----------------------

#EOF

#------- --- ---------------------------- ------------------- --------- -----