С. Райли доказал следующую теорему в 1825 году:
Каждое рациональное число можно выразить как сумму трех рациональных кубов.
Вызов
Для некоторого рационального числа найдите три рациональных числа , для которых
Детали
Ваша заявка должна быть в состоянии вычислить решение для каждого входа, учитывая достаточно времени и памяти, это означает, что, например, наличие двух 32-битных, int
представляющих дробь, недостаточно.
[p1,p2,p3,q]
, интерпретируется как ?Ответы:
Пари / ГП , 40 байт
Попробуйте онлайн!
Та же длина, та же формула:
Попробуйте онлайн!
Эта формула дана в: Ричмонд, Х. (1930). О рациональных решенияхx3+y3+z3=R . Труды Эдинбургского математического общества, 2(2), 92-100.
Проверьте это онлайн!
источник
Haskell ,
9589766968 байтПопробуйте онлайн!
источник
[-n,1/n-n..n]
Шелуха , 14 байт
Простое решение грубой силы. Попробуйте онлайн!
объяснение
Деление в Husk по умолчанию использует рациональные числа, и декартовы произведения корректно работают для бесконечных списков, что делает эту программу очень простой.
источник
JavaScript (Node.js), 73 bytes
Takes input asp and q are BigInt literals.
(p)(q)
, whereReturnspq=(p1q1)3+(p2q2)3+(p3q3)3 .
[[p1,q1],[p2,q2],[p3,q3]]
such thatTry it online!
Derived from H. W. Richmond (1930), On Rational Solutions of x3 + y3 +z3 = R.
источник
Haskell, 70 bytes
In An introduction to the Theory of Numbers (by Hardy and Wright) there is an construction that even includes a rational parameter. For golfing purposes I just set this parameter to 1, and tried reducing as much as possible. This results in the formula
Попробуйте онлайн!
источник
perl -Mbigrat -nE, 85 байт
Вы можете сохранить 8 байтов (ведущий
$_=eval;
), если вы знаете, что ввод является целым числом; эта часть нужна для того, чтобы программа вводила данные формы308/1728
. Ввод читается из STDIN. Я использую формулу, заданную @alephalpha.источник