pengantar
Anda mungkin tahu dan menyukai lingkaran unit normal Anda. Tetapi para matematik itu gila dan dengan demikian mereka mengabstraksikan konsep itu ke titik mana pun yang memuaskan x*x+y*y=1
. Karena Cryptographers 1 juga aneh, mereka suka bidang terbatas dan terkadang cincin terbatas (tidak seperti mereka punya banyak pilihan), jadi mari kita gabungkan ini!
Tantangan
Memasukkan
Bilangan bulat positif lebih besar dari satu dalam penyandian favorit Anda. Sebut nomor ini n.
Keluaran
Anda akan menampilkan "gambar" (yang terdiri dari n kali n karakter) dari lingkaran unit modulo input integer sebagai ASCII-Art menggunakan "X" (huruf latin X) dan "" (spasi). Ruang tambahan dan baris baru diizinkan.
Keterangan lebih lanjut
Anda harus menjangkau sistem koordinat dari kiri bawah ke kanan atas. Setiap kali sebuah titik memenuhi persamaan lingkaran, tempatkan X di posisi, jika tidak tempatkan spasi.
Kondisi titik untuk dianggap sebagai bagian dari perbatasan lingkaran adalah:
mod(x*x+y*y,n)==1
.
Berikut ilustrasi singkat sistem koordinat:
(0,4)(1,4)(2,4)(3,4)(4,4)
(0,3)(1,3)(2,3)(3,3)(4,3)
(0,2)(1,2)(2,2)(3,2)(4,2)
(0,1)(1,1)(2,1)(3,1)(4,1)
(0,0)(1,0)(2,0)(3,0)(4,0)
Jika ini membantu Anda, Anda juga dapat membalikkan arah sumbu mana pun, tetapi contoh-contohnya mengambil orientasi ini.
Yang menang?
Ini adalah kode-golf sehingga kode terpendek dalam byte menang! Hanya metode I / O default yang diizinkan dan semua celah standar dilarang.
Contohnya
Input: 2
X
X
Input: 3
X
X
XX
Input: 5
X
X
X X
Input: 7
X
X X
X X
X
X X
Input: 11
X
XX
X X
X X
XX
X
X X
Masukan: 42
X
X X
X X
X X
X X
X
X X X X
X X X X
X
X X
X X
X X
X X
X
X X X X
X
X X
X X
X X
X X
X
X X X X
X X X X
X
X X
X X
X X
X X
X
X X X X
1 Saya sarankan Anda melihat profil saya jika Anda bertanya-tanya di sini.