Temukan cara untuk membuat lingkaran dari radius yang diberikan menggunakan karakter di konsol. Silakan tentukan nama dan ukuran font. Juga, tolong berikan setidaknya satu contoh output.
Sebagai contoh:
Memasukkan:
3
Keluaran:
******
** **
** **
* *
** **
** **
******
... Nah, sesuatu yang lebih tampan dari "lingkaran" "digambar tangan" dengan radius 3.
Pertanyaan bonus: Elips. :)
code-challenge
ascii-art
Mateen Ulhaq
sumber
sumber
Jawaban:
Javascript (360)
http://jsfiddle.net/YssSb/3/ (
f
adalah faktor koreksi untuk rasio garis-tinggi / lebar font. Jika Anda menggunakan pengaturan font persegi, yaitu, mengatur garis-tinggi = ukuran font, Anda dapat mengatur f = 1 dan dapatkan lingkaran "kotak". Atau atur secaraf
acak untuk elips.)Output untuk 3 (cukup menarik, bentuknya tidak sengaja persis sama dengan OP), 5, 15:
sumber
a Bresenham circle in Scala (35)
Algoritma Bresenham - memiliki 2 poin utama:
Bagaimana cara melakukannya:
Ini bukan kode golf, tetapi semua angka di atas solusi yang ada membuat saya berpikir begitu, jadi saya menghabiskan waktu yang tidak berguna dalam bermain golf solusi saya. Karena itu saya menambahkan nomor yang tidak berguna di bagian atas juga. Ini 11 kali Pi bulat.
Pertanyaan font ditentukan oleh server situs dan pengaturan browser Anda. Sekarang, yang saya cari itu
Ukuran font adalah 12px. Informasi yang tidak berguna, jika Anda bertanya kepada saya, tetapi siapa yang tahu?
Bonus: elips dan output sampel:
Doa adalah
sebagai contoh
Saya membatasi parameter rasio untuk Int agar tetap sederhana, tetapi dapat dengan mudah diperlebar untuk memungkinkan mengapung.
sumber
Python (172)
172 karakter termasuk dua baris berita wajib. Menggunakan algoritma Bresenham untuk kurva berbentuk kerucut (tidak ada divisi atau perkalian); hanya menghasilkan lingkaran untuk font persegi, tetapi harus dibebaskan dari efek tangga ( mis. selalu memiliki lebar yang sama).
Tidak terlalu cantik, tapi yah, saya pikir saya akan mencobanya.
Sunting : kesalahan ketik, tambahan yang diganti dengan divisi .
sumber
Perl (92)
Aku pergi untuk "pertanyaan bonus" dan membuatnya mengeksploitasi rasio aspek karakter untuk menggambar elips :)
Output contoh:
sumber
Haskell (
112109)Ini bekerja dengan memeriksa, apakah x² + y² - r² <n untuk semua poin. Semua poin yang benar adalah bintang, semua lainnya kosong.
Contoh:
Lihat di sini untuk contoh besar: http://www.ideone.com/t042u
sumber
Python, 180 karakter
Kode ini membuat lingkaran jika font berbentuk bujur sangkar. Sangat mudah untuk memodifikasi untuk menghasilkan elips nominal jika Anda tahu rasio tinggi / lebar font Anda.
Contoh:
sumber
C, 127 Bytes, Nama font: Arial Super Bold
Hasil:
sumber