Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/11/2006, 02:43
Avatar de Valkam
Valkam
 
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
Tabla Multiplicar con un solo for

Bueno, creo que el truco está en olvidarse de que tendrías que iterar para dos variables. Tenemos que iterar 99 veces (toda la tabla son 99 multiplicaciones) y por tanto usaremos una variable para contar esas iteraciones y tambien nos servirá para calcular el número por el que hay que multiplicar el segundo contador en cada iteración.
El segundo contador tambien se calcula en funcion del primero

Creo que sería algo así:

Código:
	public static void main(String[] args) {
		
		 for(int x = 1, b = 1; x < 100; x++, b = x/10 + 1)
		  {
			 int a = x%10; //El resto de la division del contador entre 10 siempre nos da el numero por el que hay que multiplicar
		     
                         //si hay que multiplicar por 10, el resto es 0 lo ponemos a 10
			 if(a == 0)
				 a = 10;
			 
				 System.out.println(a + " x " + b + " = " + a*b);
		        }
		  }

}
Esta es la salida:

1 x 1 = 1
2 x 1 = 2
3 x 1 = 3
4 x 1 = 4
5 x 1 = 5
6 x 1 = 6
7 x 1 = 7
8 x 1 = 8
9 x 1 = 9
10 x 2 = 20
1 x 2 = 2
2 x 2 = 4
3 x 2 = 6
4 x 2 = 8
5 x 2 = 10
6 x 2 = 12
7 x 2 = 14
8 x 2 = 16
9 x 2 = 18
10 x 3 = 30
1 x 3 = 3
2 x 3 = 6
3 x 3 = 9
4 x 3 = 12
5 x 3 = 15
6 x 3 = 18
7 x 3 = 21
8 x 3 = 24
9 x 3 = 27
10 x 4 = 40
1 x 4 = 4
2 x 4 = 8
3 x 4 = 12
4 x 4 = 16
5 x 4 = 20
6 x 4 = 24
7 x 4 = 28
8 x 4 = 32
9 x 4 = 36
10 x 5 = 50
1 x 5 = 5
2 x 5 = 10
3 x 5 = 15
4 x 5 = 20
5 x 5 = 25
6 x 5 = 30
7 x 5 = 35
8 x 5 = 40
9 x 5 = 45
10 x 6 = 60
1 x 6 = 6
2 x 6 = 12
3 x 6 = 18
4 x 6 = 24
5 x 6 = 30
6 x 6 = 36
7 x 6 = 42
8 x 6 = 48
9 x 6 = 54
10 x 7 = 70
1 x 7 = 7
2 x 7 = 14
3 x 7 = 21
4 x 7 = 28
5 x 7 = 35
6 x 7 = 42
7 x 7 = 49
8 x 7 = 56
9 x 7 = 63
10 x 8 = 80
1 x 8 = 8
2 x 8 = 16
3 x 8 = 24
4 x 8 = 32
5 x 8 = 40
6 x 8 = 48
7 x 8 = 56
8 x 8 = 64
9 x 8 = 72
10 x 9 = 90
1 x 9 = 9
2 x 9 = 18
3 x 9 = 27
4 x 9 = 36
5 x 9 = 45
6 x 9 = 54
7 x 9 = 63
8 x 9 = 72
9 x 9 = 81
10 x 10 = 100
1 x 10 = 10
2 x 10 = 20
3 x 10 = 30
4 x 10 = 40
5 x 10 = 50
6 x 10 = 60
7 x 10 = 70
8 x 10 = 80
9 x 10 = 90