Masalah:
Dengan serangkaian titik yang tidak kosong di pesawat Cartesian, temukan lingkaran terkecil yang melingkupinya semua ( tautan Wikipedia ).
Masalah ini sepele jika jumlah titik tiga atau kurang (jika ada satu titik, lingkaran memiliki jari-jari nol; jika ada dua titik, segmen garis yang menghubungkan titik-titik tersebut adalah diameter lingkaran; jika ada tiga (non-colinear) poin, dimungkinkan untuk mendapatkan persamaan lingkaran yang menyentuh mereka semua jika mereka membentuk segitiga non-tumpul, atau lingkaran yang menyentuh hanya dua titik dan menutup ketiga jika segitiga tumpul). Jadi, demi tantangan ini, jumlah poin harus lebih dari tiga.
Tantangan:
- Input: Daftar 4 atau lebih poin non-colinear. Poin harus memiliki koordinat X dan Y; koordinat bisa mengapung. Untuk meringankan tantangan, tidak ada dua poin yang harus berbagi koordinat X yang sama.
Sebagai contoh:[(0,0), (2,1), (5,3), (-1,-1)]
- Keluaran: Satu tupel nilai,
(h,k,r)
sehingga adalah persamaan dari lingkaran terkecil yang melingkupi semua titik.
Aturan:
- Anda dapat memilih metode input apa pun yang sesuai dengan program Anda.
- Output harus dicetak ke
STDOUT
atau dikembalikan oleh suatu fungsi. - "Normal", tujuan umum, bahasa lebih disukai, tetapi esolang apa pun dapat diterima.
- Anda dapat mengasumsikan bahwa poinnya tidak colinear.
- Ini adalah kode-golf, jadi program terkecil dalam byte menang. Pemenang akan dipilih satu minggu setelah tantangan diposting.
- Harap sertakan bahasa yang Anda gunakan dan panjang dalam byte sebagai tajuk di baris pertama jawaban Anda:
# Language: n bytes
- Harap sertakan bahasa yang Anda gunakan dan panjang dalam byte sebagai tajuk di baris pertama jawaban Anda:
Kasus uji:
- 1:
- Memasukkan:
[(-8,0), (3,1), (-6.2,-8), (3,9.5)]
- Keluaran:
[-1.6, 0.75, 9.89]
- Memasukkan:
- 2:
- Memasukkan:
[(7.1,-6.9), (-7,-9), (5,10), (-9.5,-8)]
- Keluaran:
[-1.73, 0.58, 11.58]
- Memasukkan:
- 3:
- Memasukkan:
[(0,0), (1,2), (3,-4), (4,-5), (10,-10)]
- Keluaran:
[5.5, -4, 7.5]
- Memasukkan:
- 4:
- Memasukkan:
[(6,6), (-6,7), (-7,-6), (6,-8)]
- Keluaran:
[0, -0.5, 9.60]
- Memasukkan:
Selamat bermain golf !!!