Aquí dada una lista de números, nuestra tarea es encontrar la posición impar del número dado.
Ejemplo:
Input: 123456 Output: 135 Explanation: 1, 2, 3 are at odd position. Input: 34567 Output: 357 Explanation: 3, 5, 7 are at odd position.
Tendremos que ingresar un número del usuario para un script dinámico. Después de la entrada del número, necesitamos saber si la entrada es un número o no. También podemos aceptar números con signos. Tendremos que ingresar del usuario hasta que ingrese un número puro. Luego, podemos saber exactamente cuántos dígitos hay en la variable, luego necesitamos recorrer solo los dígitos impares e imprimir lo mismo. Uso de cortar, leer y otras herramientas básicas de utilidad de Linux para hacer la tarea más simple y eficiente.
Acercarse:
- Tome la entrada de los usuarios.
- Cuenta de los dígitos.
- Seleccione los dígitos particulares.
- Manejar los símbolos + y – (signo).
- Obtén el resultado.
A continuación se muestra la implementación:
#!/bin/bash n=0 while ! [[ $n =~ "^[-+]?[0-9]+$" ]] do read -p "Enter a number : " n l=${#n} if [[ $n =~ ^[+-]?[0-9]+$ ]];then if [[ $n =~ ^[+-] ]];then i=2 if if [[ $n =~ ^[0-9] ]];then i=1 if while [ $i -le $l ] do d=$(echo $n | cut -c $i) echo $d i=$(($i + 2)) done break if done
Producción: