Tantangan
Angka plastik adalah angka yang terkait dengan rasio emas, dengan banyak sifat matematika yang menarik. Karena itu, ada banyak pendekatan yang dapat digunakan untuk menghitung angka.
Untuk menentukan secara tepat angka untuk tujuan tantangan ini, kami akan menggunakan definisi berikut (meskipun ada banyak definisi yang setara, dan Anda dapat menggunakan definisi apa pun yang Anda inginkan asalkan sampai ke nomor yang sama):
Angka plastik adalah bilangan real ρ sehingga ρ ³ = ρ +1.
Tantangan Anda adalah menulis sebuah program atau fungsi yang mengambil integer x sebagai input (dengan x > 1), dan menghasilkan perkiraan untuk ρ sebagai output, sehingga semakin besar nilai x didapat, semakin dekat output ke ρ ( dengan paling banyak pengecualian, bertahan pada nilai yang sama dengan "lebih dekat" untuk tujuan ini), dan untuk setiap angka positif δ , ada beberapa input x untuk program Anda yang menghasilkan output yang berada dalam δ dari ρ .
Klarifikasi
- Jika Anda mengeluarkan melalui metode yang secara inheren mengeluarkan string (misalnya aliran output standar), Anda dapat memformat output dalam bentuk desimal (misalnya
1.3247179572
), atau sebagai rasio dua bilangan bulat dengan/
karakter di antara mereka. - Jika Anda menghasilkan sebagai nilai dalam bahasa pemrograman Anda (misalnya kembali dari suatu fungsi), itu harus dari titik tetap, titik mengambang, atau jenis rasional. (Secara khusus, Anda tidak dapat menggunakan tipe data yang menyimpan angka secara simbolis, kecuali jika mereka hanya digunakan untuk menahan rasio dua bilangan bulat. Jadi, jika Anda menggunakan Mathematica atau bahasa yang serupa, Anda harus menyertakan tambahan kode untuk benar-benar menghasilkan digit dari output.)
- Jawaban Anda harus bekerja dalam varian hipotetis dari bahasa Anda di mana bilangan bulat dapat secara sewenang-wenang besar, dan memori (termasuk tumpukan) tidak terbatas. Anda tidak boleh berasumsi bahwa aritmatika titik-mengambang dalam bahasa Anda akurat secara sewenang-wenang, tetapi sebaliknya harus menggunakan keakuratannya yang sebenarnya (artinya mengeluarkan nomor titik-mengambang hanya akan mungkin dilakukan dalam bahasa-bahasa di mana akurasi angka-angka titik-mengambang dapat dikontrol saat runtime).
- x dapat memiliki makna apa pun yang Anda inginkan (selama meningkatkannya memberikan hasil yang lebih akurat). Saya membayangkan bahwa sebagian besar pengiriman akan mengontrol jumlah digit output yang akan dihasilkan, atau jumlah iterasi dari algoritma yang digunakan oleh program Anda untuk berkumpul pada nomor plastik, tetapi makna lain dapat diterima.
Kasus cobaan
Berikut adalah beberapa digit pertama nomor plastik:
1.32471795724474602596090885
Lebih banyak digit tersedia di OEIS .
Kondisi kemenangan
Seperti biasa untuk kode-golf , lebih pendek lebih baik, diukur dalam byte. Namun, jangan ragu untuk mengirim jawaban meskipun mereka tidak menang, asalkan mereka menambahkan sesuatu (misalnya bahasa yang berbeda, atau algoritma yang berbeda) ke jawaban yang ada.