Contexte
Vous travaillez pour un fabricant de jeux de société et devez produire des tuiles en bois avec les numéros de 0 à n gravés dessus pour certains jeux. Cependant, sans plus tarder, certaines tuiles deviendraient indiscernables, par exemple, 6et 9. Pour éviter cela, vous devez équiper les numéros qui peuvent être confondus avec les autres (et seulement ceux-ci) d'un point sans ambiguïté, par exemple, vous auriez des tuiles comme 9.ou 6089..
Malheureusement, vous devez utiliser pour cela un appareil de gravure sur bois ancien, mais programmable, dont l'interface est si brisée que vous devez encoder tous les caractères du programme à la main dans un processus extrêmement fastidieux. Heureusement, l'appareil comprend tous les langages de programmation existants. Vous recherchez donc le programme le plus court qui imprime de telles tuiles.
Tâche réelle
Écrivez le programme le plus court qui:
- Prend un entier positif n en entrée. La façon dont l'entrée est lue dépend de vous.
- Imprime chacun des nombres de 0 à n (0 et n inclus) exactement une fois dans l'ordre de votre choix, séparés par un seul caractère d'espacement (y compris les retours à la ligne). Les chiffres doivent être imprimés sans zéros de tête.
- Ajoute un point (.) À chaque nombre qui se transforme en un autre nombre valide lors de la rotation de π (180 °), même si ce nombre est supérieur à n. Les caractères 0 et 8 de votre police sont symétriques en rotation et le 9 est un 6. pivoté. Les 2 et 5 sont distincts lors de la rotation; le 1 n'est pas symétrique en rotation. Les nombres avec des zéros non significatifs ne sont pas valides.
Exemples
Chacun des numéros suivants doit être imprimé exactement de cette façon:
2
4
5
6.
8
9.
16
60
66.
68.
69
906
909.
8088.
9806.
9886
9889.
8088.
dans vos exemples un numéro à rotation non sûre qui n'a pas de 6 ou de 9.
60
être ainsi60.
?