Este reto consiste en decir los números del 1 al 9, quitando uno. Y luego repetirlos hace atrás.
Suena un poco raro, pero vamos a verlo.
Brais Moure lo explica muy bien en este vídeo.
Así que vamos a hacerlo en Pascal.
Lo primero es programar un bucle desde 1 hasta 8. Para crear los espacios a la izquierda usaremos la función PadLeft, que devuelve una cadena tras añadirle a la izquierda un número de espacios que le indicaremos. Para ellos añadiremos en la clausula uses la unidad strutils
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
program reto12345678; uses StrUtils; var I, J: integer; begin for I := 1 to 8 do begin Write(PadLeft('',I-1)); for J := I to 8 do begin Write(J); end; Writeln(); end; |
Con esto conseguimos generar los números del 1 al 8 quitando uno, tal como indica le reto.
Ahora solo queda hacerlo hacia atrás.
1 2 3 4 5 6 7 8 9 |
for I := 8 downto 1 do begin Write(PadLeft('',I-1)); for j := i to 8 do begin Write(J); end; Writeln(''); end; |
¡Listo el reto en Pascal!
Aquí os dejo el código completo,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
program reto12345678; uses StrUtils; var I, J: integer; begin for I := 1 to 8 do begin Write(PadLeft('',I-1)); for J := I to 8 do begin Write(J); end; Writeln(); end; for I := 8 downto 1 do begin Write(PadLeft('',I-1)); for j := i to 8 do begin Write(J); end; Writeln(''); end; end. |
Vídeo de reto en Pascal
Saludos