Hacia el final del Mundo 1-1 en Super Mario Brothers de Nintendo, Mario debe ascender a la pirámide de bloques alineados a la derecha, como se muestra a continuación.
Recreemos esa pirámide en C, aunque en texto, usando hashes ( #) para ladrillos, como se muestra a continuación. Cada hash es un poco más alto que ancho, por lo que la pirámide en sí también es más alta que ancha.
#
##
###
####
#####
######
#######
########
El programa que escribiremos se llamará mario
. Y dejemos que el usuario decida qué tan alta debe ser la pirámide solicitándoles primero un número entero positivo entre, digamos, 1 y 8, inclusive.
Así es como el programa podría funcionar si el usuario ingresa 8
cuando se le solicite:
$ ./mario
Height: 8
#
##
###
####
#####
######
#######
########
Así es como el programa podría funcionar si el usuario ingresa 4
cuando se le solicite:
$ ./mario
Height: 4
#
##
###
####`
Así es como el programa podría funcionar si el usuario ingresa 2
cuando se le solicite:
$ ./mario
Height: 2
#
##
Y así es como el programa podría funcionar si el usuario ingresa 1
cuando se le solicite:
$ ./mario
Height: 1
#
Si el usuario, de hecho, no ingresa un número entero positivo entre 1 y 8, inclusive, cuando se le solicite, el programa debe volver a solicitar al usuario hasta que coopere:
$ ./mario
Height: -1
Height: 0
Height: 42
Height: 50
Height: 4
#
##
###
####