Hola, hoy un profesor nos ha mandado un ejercicio que es realmente facil, ya que estamos empezando, pero tengo un problema por que no logro entender una cosa.
El enunciado del problema es:
Cargar por teclado un numero entero.
Visualizar la suma del numero y los 20 siguientes y la suma de los 20 siguientes pares
¿Numero?12
Suma del numero 12 y los 20 siguientes es: 462
Suma de los 20 siguientes pares del 12 es : 660
y el codigo que puse para su funcionamiento es el siguiente:
class Veintesiguientes
{
public static void main(String[]args)
{
//variables
int cont,suma=0,numero,ax=0;
//pedimos datos:
System.out.println("¿Numero?");
numero=cs1.Keyboard.readInt();
for(cont=numero;cont<=(numero+20);cont++)
{
suma+=cont;
}
System.out.println("Suma del numero "+numero+" y los 20 siguientes es: "+suma);
suma=0;
cont=0;
if (numero%2==0)
{
numero+=2;
for(cont=numero;cont<(numero+40);cont+=2)
{
suma+=cont;
}
}
else
{
numero+=1;
for(cont=numero;cont<(numero+40);cont+=2)
{
suma+=cont;
}
}
System.out.println("Suma de los 20 siguientes pares del "+numero+" es: "+suma);
}
}
El programa hace lo que pone en el ejemplo,y he comprobado con otros numeros y tambien pero si se fijan, en el primer "for" la condicion es <=(numero+20) por lo que el bucle se repetira 21 veces y no 20 (cosa que los otros si hacen 40 y no 41) pero el caso es que los resultados les da bien,
Pues bien, no logro entender por que para que realice el bucle 20 veces tengo que poner el <= y no solamente < y me tiene hecho un lio.
espero no haberme esplayado mucho en el mensaje y puedan ayudarme pronto.
Un saludo!