Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- function es_primo() {
- local num=$1
- local i=2
- if [ $num -lt 2 ]; then
- return 1
- fi
- while [ $((i * i)) -le $num ]
- do
- if [ $((num % i)) -eq 0 ]; then
- return 1
- fi
- i=$((i + 1))
- done
- return 0
- }
- function calcular_raiz_cuadrada() {
- local num1=$1
- local num2=$2
- if [ $num1 -gt $num2 ]; then
- mayor=$num1
- else
- mayor=$num2
- fi
- raiz=$(echo "scale=2; sqrt($mayor)" | bc)
- echo "La raíz cuadrada del número mayor ($mayor) es: $raiz"
- }
- function calcular_factorial() {
- local num1=$1
- local num2=$2
- if [ $num1 -lt $num2 ]; then
- menor=$num1
- else
- menor=$num2
- fi
- factorial=1
- for ((i=2; i<=menor; i++))
- do
- factorial=$((factorial * i))
- done
- echo "El factorial del número menor ($menor) es: $factorial"
- }
- function menu() {
- echo "--------------- Menú --------------"
- echo "1) Verificar si dos números son primos"
- echo "2) Calcular la raíz cuadrada del número mayor"
- echo "3) Calcular el factorial del número menor"
- echo "4) Salir"
- echo "-----------------------------------"
- read -p "Ingrese una opción: " opcion
- case $opcion in
- 1)
- read -p "Ingrese el primer número: " num1
- read -p "Ingrese el segundo número: " num2
- if es_primo $num1 && es_primo $num2; then
- echo "Ambos números son primos."
- elif es_primo $num1 || es_primo $num2; then
- echo "Solo uno de los números es primo."
- else
- echo "Ninguno de los números es primo."
- fi
- ;;
- 2)
- read -p "Ingrese el primer número: " num1
- read -p "Ingrese el segundo número: " num2
- calcular_raiz_cuadrada $num1 $num2
- ;;
- 3)
- read -p "Ingrese el primer número: " num1
- read -p "Ingrese el segundo número: " num2
- calcular_factorial $num1 $num2
- ;;
- 4)
- echo "Saliendo..."
- exit
- ;;
- *)
- echo "Opción inválida. Por favor, ingrese una opción válida."
- ;;
- esac
- }
- while true
- do
- menu
- echo
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement