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