Red de conocimiento informático - Material del sitio web - Utilice la programación shell de Linux para encontrar el factorial de M-N, el usuario ingresa M, N

Utilice la programación shell de Linux para encontrar el factorial de M-N, el usuario ingresa M, N

#!/bin/bash

echo "Ingrese los números enteros M, N (Mgt;N)"

echo "M:"

leer M

#Determinar si M no es nulo y es un número entero

si [ -z $M ]

entonces

echo "M debe ser no nulo"

elif ! p>

salida 1

elif ! [[ $M =~ ^-?[0-9]*$ ]]

entonces

echo "M debe ser un número entero"

salida 1

fi

echo "N:"

leer N

#Determinar si N es un número entero que no está vacío y es menor que N

leer N

p>

si [ -z $N ]

entonces

echo "N debe ser no nulo"

salida 1

elif! [[ $N =~ ^-?[0-9]*$ ]]

luego

echo "N debe ser un número entero"

salir 1

elif [ $M -le $N ]

luego

echo "N debe ser menor que M"

salida 1

fi

let "base = M-N"

result=1

# Función factorial, introduce el resultado para conseguir un crecimiento lineal de la operación

resultado=1

p>

fac(){

base=$1

resultado=$2

si [ $base -gt 0 ]

entonces

deja "resultado *= base"

deja "base -= 1"

fac $base $resultado

fi

}

#Calcular factorial

fac $base $resultado

echo "El factorial de M-N es $resultado"

salir 0

Leí mal la pregunta la última vez