tło
Pracujesz dla jakiegoś producenta gier planszowych i musisz produkować drewniane płytki z cyframi od 0 do n wygrawerowanymi na nich w niektórych grach. Jednakże, bez dalszej zwłoki, niektóre płytki stałaby się nie do odróżnienia, na przykład, 6i 9. Aby tego uniknąć, musisz wyposażyć liczby, które można pomylić z innymi (i tylko tymi), w jednoznaczną kropkę, np. Masz płytki takie jak 9.lub 6089..
Niestety, musisz użyć do tego jakiegoś starego, ale programowalnego urządzenia do grawerowania drewna, którego interfejs jest tak zepsuty, że musisz ręcznie zakodować każdy znak programu w sposób nie do opisania żmudny. Na szczęście urządzenie rozpoznaje każdy istniejący język programowania. Dlatego szukasz najkrótszego programu, który drukuje takie kafelki.
Rzeczywiste zadanie
Napisz najkrótszy program, który:
- Pobiera na wejściu dodatnią liczbę całkowitą n . Sposób odczytu danych zależy od Ciebie.
- Drukuje każdą z liczb od 0 do n ( włącznie 0 i n ) dokładnie raz w wybranej przez Ciebie kolejności, oddzielone pojedynczym białym znakiem (w tym znakiem nowej linii). Liczby należy wydrukować bez zer wiodących.
- Dodaje kropkę (.) Do każdej liczby, która zmienia się w inną prawidłową liczbę po obróceniu o π (180 °), nawet jeśli liczba ta jest większa niż n. 0 i 8 kroju pisma są symetryczne obrotowo, a 9 to obrócony 6. 2 i 5 różnią się po obrocie; 1 nie jest obrotowo-symetryczny. Liczby z wiodącymi zerami są nieprawidłowe.
Przykłady
Każdy z poniższych numerów musi zostać wydrukowany dokładnie w ten sposób:
2456.89.166066.68.69906909.8088.9806.98869889.
8088.w swoich przykładach liczbę niebezpieczną dla rotacji, która nie ma cyfry 6 lub 9.
60być60.?