Linux/Unix Shell Scripting - A ver si podéis ayudarme.

 
Vista:

A ver si podéis ayudarme.

Publicado por Gonzalo (1 intervención) el 06/03/2015 17:40:56
Buenas gente, llevo ya unos días liado y no soy capaz de sacar estos scripts, a ver si alguno podéis ayudarme, gracias de antemano.

1 Número Enano: Número que al sumar cada una de sus cifras el resultado siempre es menor de 10. Ejemplo: 2132 = 2+1+3+2 (8 es menor de 10).

Crea un script al que se le introduzca un número y mediante una función se determine si es un número enano no.

2 Realiza un script que dado un número de tres cifras muestre todas las posibles permutaciones de sus cifras. Por ejemplo (123: 123, 132, 213, 231, 321 y 312).

3 Número Vampiro: Número que se obtiene a partir del producto de dos números obtenidos a partir de sus dígitos. Ejemplo: 2187 = 27 x 81.

Crea un script al que se le introduzca un número y mediante una función se determine si es un número vampiro no.

4 Realiza un script que dado un número diga si todas sus cifras son diferentes o no. Ejemplo 5422 (tiene cifras repetidas), 6321 (todas sus cifras son diferentes).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

A ver si podéis ayudarme.

Publicado por Tom (361 intervenciones) el 07/03/2015 11:37:41
Creo que tu mayor problema debería ser el de separar la variable numérica en sus distintas cifras. Es posible que haya unas 100 maneras distintas, una podría ser:

1
2
3
4
5
6
7
8
V=123456
TEST=$V
for (( i = 0; i < ${#V}; i++))
do
  t[$i]=$((TEST%10))
 TEST=$((TEST/10))
done
echo ${t[@]}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar