Змагання
Пластичний номер являє собою число , пов'язане золотий перетин, з багатьма цікавими математичними властивостями. Таким чином, існує багато підходів, за допомогою яких можна обчислити число.
Для того, щоб точно вказати число для цілей цього виклику, ми будемо використовувати таке визначення (хоча є багато еквівалентних визначень, і ви можете використовувати будь-яке визначення, яке ви хочете, поки воно стосується однакового числа):
Пластичне число - це дійсне число ρ таке, що ρ ³ = ρ +1.
Ваше завдання полягає в тому, щоб написати програму або функцію, яка приймає ціле число x як вхідний (з x > 1) і виробляє наближення до ρ як вихід, таким чином, що чим більше значення x отримує, тим ближче вихід до ρ ( з максимум кінцевим числом винятків; перебування на тому ж значенні для цієї мети вважається «ближчим»), і для будь-якого додатного числа δ , у вашу програму є деякий вхід x, який дає результат, який знаходиться в межах δ з ρ .
Роз'яснення
- Якщо ви виводите за допомогою методу, який по суті виводить рядки (наприклад, стандартний вихідний потік), ви можете відформатувати вихід або в десятковій формі (наприклад
1.3247179572
), або як співвідношення двох цілих чисел із/
символом між ними. - Якщо ви виводите як значення в межах своєї мови програмування (наприклад, повертаючись з функції), воно повинно бути фіксованої, плаваючої або раціонального типу. (Зокрема, ти не можеш використовувати типи даних, які символічно зберігають числа, якщо вони не використовуються лише для відношення двох цілих чисел. Отже, якщо ви використовуєте Mathematica або подібну мову, вам потрібно буде включити додаткові код, щоб фактично генерувати цифри виводу.)
- Ваша відповідь повинна працювати в гіпотетичному варіанті вашої мови, в якому цілі числа можуть бути довільно великими, а пам'ять (включаючи стек) необмежена. Ви можете не припускати, що арифметика з плаваючою комою у вашій мові довільно точна, але натомість повинна використовувати її фактичну точність (мається на увазі, що виведення числа з плаваючою комою стане можливим лише мовами, де може бути точність чисел з плаваючою комою контролюється під час виконання).
- x може мати будь-яке значення, яке ви хочете (до тих пір, поки збільшення його дає більш точні результати). Я гадаю, що більшість подань дозволить йому контролювати кількість цифр виробленого продукту або кількість ітерацій алгоритму, використовуваного вашою програмою для сходження на пластичне число, але інші значення є прийнятними.
Тестова шафа
Ось перші кілька цифр пластичного числа:
1.32471795724474602596090885
Більше цифр доступно на OEIS .
Стан перемоги
Як зазвичай для коду-гольфу , коротше краще, вимірюється в байтах. Однак сміливо публікуйте відповіді, навіть якщо вони не виграють, якщо вони додають щось (наприклад, іншу мову чи інший алгоритм) до існуючих відповідей.