Tantangan Anda adalah mengubah pecahan menjadi bentuk pecahan berkelanjutan.
Input : Fraksi dapat berupa input dalam format apa pun, termasuk (tetapi tidak terbatas pada)
- string: "7/16"
- daftar: {7, 16}, (7, 16), [7, 16]
- pasangan sederhana yang dipesan: 7 16
- fungsi: f [7,16]
Keluaran : Fraksi lanjutan, dalam 2D, dengan bilah fraksi horizontal yang memisahkan pembilang dari penyebut. Hanya pecahan lanjutan dengan pembilang yang sama dengan 1 yang valid. Tidak perlu membuat ukuran font bervariasi sesuai dengan kedalaman. Angka nol di depan (untuk fraksi yang tepat) adalah opsional.
Kedalaman : Kode Anda harus dapat menampilkan setidaknya 8 level kedalaman.
Kriteria menang : Kode terpendek menang. Anda harus menyertakan beberapa test case yang menunjukkan input dan output.
Contoh Uji (Input diikuti oleh output)
5/4
5/3
5/7
9/16
89/150
code-golf
rational-numbers
DavidC
sumber
sumber
0 + 89 / 250
yang terakhir saja?0 + 1 / (1 + 1 / (1 + 1 / (2 + 1 / (3 + 1 / (1 + 1 / (1 + 1 / (2)))))))
? Bagaimana dengan tanpa tanda kurung? Atau jika kita hanya menampilkan angka biru, seperti0 1 1 2 5 1 1 2
?Jawaban:
Mathematica,
4036 karakterContoh:
Keluaran:
sumber
Python 2,
158155147142Uji:
Python 2, alt. versi, 95
Pada dasarnya port jawaban dari kotak roti. Output lebih aman.
Uji:
sumber
40,3
sebagai input.XSLT 1.0
Saya pikir akan lebih baik untuk menampilkan pecahan dengan HTML, jadi inilah solusi XSLT.
Untuk mengujinya, simpan xslt sebagai fraction.xslt dan buka file berikut di IE:
sumber
Ruby, 175 (dengan seni ASCII) atau 47 (tanpa)
Tanpa seni ASCII, 47
Karena Ruby tidak dapat melakukan gambar seperti itu, saya hanya menampilkan angka biru pada contoh Anda.
Dengan Seni ASCII,
181178175Wow, seni ASCII itu mengambil banyak kode, dan saya bahkan jahat dan menggunakan
rescue 0
: P Contoh:sumber
Sage Notebook, 80
Di sini
n
bisa apa saja yang dapat diperkirakan oleh Sage dengan angka rasional / mengambang. Presisi standar adalah 53 bit, kecualin
aRational
. Harus mencintai MathJax.sumber
C, 119 karakter
Berikut adalah beberapa contoh output:
Sementara garis fraksi terpotong tidak cukup cantik seperti beberapa contoh di sini, saya ingin menunjukkan bahwa ini adalah teknik umum untuk memformat fraksi lanjutan pada hari-hari sebelum komputer desktop ada di mana-mana.
Oke, ini versi yang jauh lebih lama (247 karakter) yang memformat output secara penuh:
Beberapa contoh outputnya:
sumber
APL (78)
Contoh:
sumber
Mathematica, 77
Baru belajar Mathematica untuk ini. Secara mengejutkan butuh waktu lama untuk melakukan ini.
sumber
Perl
128114 karakterTetapi karena ini menggunakan penempatan konsol, Anda harus menghapus konsol sebelum menjalankan:
keluaran:
Posting pertama: 128 karakter
Dipisahkan untuk pasta cut'n :
Will render:
Sama menggunakan LaTeX:
sumber
Perl:
140,133121 karaktercontoh:
#perl fraction.pl
5
7
sumber
Razor Leaf di Firefox, 108
127Prompt sangat menyakitkan di sana ...Oh, maksudmu aku bisa memilih? Oke, ini daftarnya. Bagaimanapun, semoga sukses menjalankan ini.sumber
Bahasa Game Maker (Script),
6171Kompilasi dengan semua variabel tidak diinisialisasi sebagai
0
.sumber
c
.Dengan asumsi nomor input sebagai co-prime, panggil fungsi proses ini dengan pembilang dan penyebut. Itu dapat pergi ke kedalaman sampai menemukan bentuk lanjutan, tanpa batas
Ditulis dalam JAWA (238 karakter)
proses (89.150);
proses (973,13421);
sumber
K, 136
.
sumber