Google Code Jam 2017: Tidy Numbers.

El problema dice más o menos así:

A Tatiana le gusta tener sus cosas ordenadas. Sus juguetes se encuentran acomodados del más pequeño al más grande, sus lápices están organizados del más corto al más largo y sus computadoras están ordenadas de la más vieja a la más nueva. Un día, al encontrarse practicando sus habilidades de conteo, notó que algunos números enteros positivos en base diez sin ceros a la derecha tenían sus dígitos ordenados en un orden no decreciente. Algunos ejemplos de este tipo de dígitos son: 8, 123, 555 y 224488. Ella decidió llamar a los números con esta propiedad números ordenados.

Tatiana justo acaba de terminar de contar todos los números positivos de 1 a N en orden ascendente. ¿Cuál fue el último número ordenado que contó?

Sin duda las líneas más importantes de este código son la 4 y la 5. La línea cuatro revisa si en un número dado todos los dígitos i son menores a los dígitos i-1.  De ser cumplida esta validación, dicho número será retornado por la función. De manera contraria, si tal validación no es satisfecha la línea cinco hará un decremento en dicho número de tal manera que:

8799 será transformado a 7999

512 será transformado a 499

785 será transformado a 779

10 será transformado a 9

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s