Linux/Unix Shell Scripting - suma de valores de 1 a n

 
Vista:

suma de valores de 1 a n

Publicado por sergio (1 intervención) el 14/06/2016 16:39:21
Mostrar la suma de los valores desde 1 hasta N. N es solicitado por teclado. Validar que se ha introducido algo, que N es un entero y mayor que 0.
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
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

suma de valores de 1 a n

Publicado por xve (309 intervenciones) el 14/06/2016 20:49:00
Hola Sergio, aqui tienes un simple ejemplo:

1
2
3
4
5
6
7
8
9
10
echo "Introduce un numero:"
read numero
 
total=0
 
for i in $(seq 1 $numero)
do
	total=`expr $total + $i`
	print $total
done
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
Imágen de perfil de Aarón Castillo
Val: 18
Ha disminuido su posición en 5 puestos en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

suma de valores de 1 a n

Publicado por Aarón Castillo (2 intervenciones) el 16/06/2016 01:14:43
Hola Sergio,

De acuerdo al problema que mencionas, la suma de 1 hasta N se reduce a una fórmula del matemático Gauss donde la suma de 1 hasta N es: N * (N+1) / 2. Así, tu programa quedaría:

echo "Dame un numero: "

read numero

let suma="$numero*($numero+1)/2"

echo "Tu resultado es: "$suma

Si bien otra forma es sumar los números uno por uno, con esta fórmula te ahorras un ciclo, haciendo tu programa más eficiente.
Ya sólo te falta por medio de una condición if, revisar que el numero cumpla con las condiciones que pides.

Saludos.
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