Sementara mencoret-coret kertas berbentuk bujur sangkar beberapa hari yang lalu, saya menemukan font spasi negatif untuk digit. Jika Anda belum melihatnya, ruang antara bentuk di atas menghasilkan rasio emas 1,618033988749 . Dalam tantangan ini, tugas Anda adalah mengambil nomor sebagai masukan dan merendernya persis seperti contoh di atas.
Ini adalah bagaimana ini dibuat. Semua garis akan berada di kisi-kisi biasa, sehingga masing-masing digit terdiri dari sejumlah kecil sel kisi. Berikut adalah bentuk 10 digit (kami akan mengabaikan titik desimal untuk tantangan ini):
Ya, 7 berbeda dari contoh rasio emas di atas. Saya agak mengacaukannya. Kami akan pergi dengan yang ini.
Perhatikan bahwa setiap digit tingginya lima sel, dan lebar tiga sel. Untuk membuat angka, Anda dapat membayangkan menempatkan semua digitnya di samping satu sama lain, sehingga ada satu kolom kosong di antara setiap pasangan digit. Misalnya, 319
sebagai masukan, kami akan menulis:
Perhatikan bahwa kami menambahkan satu kolom kosong awal dan akhir. Sekarang kita membalikkan sel:
Output kemudian harus menjadi batas-batas poligon yang dihasilkan:
Tentu saja Anda dapat menghasilkan hasilnya dengan cara lain, selama output yang diberikan terlihat sama.
Memasukkan
- Anda dapat menulis program atau fungsi, mengambil input melalui STDIN (atau alternatif terdekat), argumen baris perintah atau argumen fungsi, sebagai string, atau daftar digit. (Anda tidak dapat mengambil nomor karena itu tidak akan memungkinkan Anda untuk mendukung angka nol di depan.)
- Anda dapat berasumsi bahwa tidak akan ada lagi 16 digit dalam input.
Keluaran
- Output dapat ditampilkan di layar atau ditulis ke file dalam format gambar yang umum.
- Anda dapat menggunakan grafik raster dan vektor.
- Dalam kedua kasus tersebut, rasio aspek sel-sel dari kisi yang mendasarinya harus 1 (yaitu, sel harus kuadrat).
- Dalam hal grafik raster, setiap sel harus mencakup setidaknya 20 kali 20 piksel.
- Garis tidak boleh lebih lebar dari 10% dari ukuran sel. Saya bersedia memberikan satu atau dua piksel kelonggaran karena aliasing di sini.
- Garis dan latar dapat berupa dua warna yang dapat dibedakan dengan jelas, tetapi bentuk yang dibuat oleh garis tidak harus diisi (yaitu bagian dalamnya harus merupakan warna latar belakang juga).
- Tidak boleh ada celah di dalam setiap loop tertutup.
- Tentu saja, seluruh hasil harus terlihat.
Uji Kasus
Berikut adalah 10 input, yang bersama-sama mencakup semua pasangan yang mungkin dari digit yang berdekatan, serta setiap digit depan dan belakang yang mungkin:
07299361548
19887620534
21456837709
39284106657
49085527316
59178604432
69471338025
79581224630
89674235011
97518264003
Dan inilah hasil yang diharapkan untuk itu:
Pastikan kode Anda juga berfungsi ketika diberi satu digit (saya tidak ingin menyertakan hasil yang diharapkan di sini, karena mereka harus jelas, dan bagian kasus uji cukup bengkak seperti itu).