sfondo
Stai lavorando per alcuni produttori di giochi da tavolo e devi produrre tessere di legno con i numeri da 0 a n incisi su di esse per alcuni giochi. Tuttavia, senza ulteriori indugi, alcune tessere diventerebbero indistinguibili, ad esempio, 6e 9. Per evitare ciò, devi dotare i numeri che possono essere confusi con altri (e solo quelli) con un punto non ambiguo, ad esempio, avresti tessere come 9.o 6089..
Sfortunatamente, devi usare un vecchio dispositivo di incisione del legno programmabile, per questo, la cui interfaccia è così rotta che devi codificare manualmente ogni carattere del programma in un processo indicibilmente noioso. Fortunatamente il dispositivo comprende ogni linguaggio di programmazione esistente. Quindi stai cercando il programma più breve per stampare tali tessere.
Compito effettivo
Scrivi il programma più breve che:
- Accetta un numero intero positivo n come input. Come viene letto l'input dipende da te.
- Stampa ciascuno dei numeri da 0 a n ( inclusi 0 e n ) esattamente una volta in un ordine a tua scelta, separati da un singolo carattere di spazi bianchi (inclusa la nuova riga). I numeri devono essere stampati senza zeri iniziali.
- Aggiunge un punto (.) A ogni numero che si trasforma in un altro numero valido alla rotazione di π (180 °), anche se quel numero è maggiore di n. 0 e 8 del tuo carattere tipografico sono simmetrici di rotazione e 9 è un 6. ruotato. 2 e 5 sono distinti al momento della rotazione; l'1 non è simmetrico alla rotazione. I numeri con zeri iniziali non sono validi.
Esempi
Ognuno dei seguenti numeri deve essere stampato esattamente in questo modo:
2456.89.166066.68.69906909.8088.9806.98869889.
8088.nei tuoi esempi un numero pericoloso per la rotazione che non ha un 6 o un 9.
60essere60.?