Фон
Номер Рамануджана, 1729, называется номером такси из-за (возможно, апокрифического) рассказа о том, как Харди садится в такси, чтобы навестить Рамануджана в больнице с таким номером, который показался ему скучным.
С тех пор он известен как самый известный из класса целых чисел, известных как «номера такси», которые можно выразить как сумму двух n-х степеней (натуральных чисел) двумя (или иногда «k») различными способами.
1729 - это наименьшее натуральное число, выражаемое как сумма 2 кубов двумя различными способами, что делает его первым «3,2» номером такси (общее число «n, k»).
Вызов
Учитывая число, решите, является ли оно «3,2» «вторичным номером такси» - это означает, что оно соответствует тому же ограничению, что и 1729 (2 уникальных суммы кубов), но не должно быть наименьшим таким целым числом из «3 , 2 "класс (это был 1729, конечно).
Примеры случаев:
1729 = 10 ^ 3 + 9 ^ 3 = 12 ^ 3 + 1 ^ 3
4104 = 15 ^ 3 + 9 ^ 3 = 16 ^ 3 + 2 ^ 3
13832 = 2 ^ 3 + 24 ^ 3 = 18 ^ 3 + 20 ^ 3
А также 20683, 32832, 39312 ...
счет
Это код-гольф , поэтому выигрывает самый короткий ответ на каждом языке.
Грубый код Matlab для поиска других случаев грубой силой:
for k = 1729:20000
C = sum(round(mod(real((k-[1:ceil(k^(1/3))].^3).^(1/3)),1)*10000)/10000==1);
if C > 1
D = (mod(C,2)==0)*C/2 + (mod(C,2)==1)*((C+1)/2);
disp([num2str(k),' has ',num2str(D),' solns'])
end
end
источник
Ответы:
05AB1E , 9 байт
Код (очень медленно)
Код (намного быстрее), 12 байт
Использует кодировку 05AB1E . Попробуйте онлайн!
объяснение
источник
Желе , 9 байт
Кредиты для Эрика Outgolfer.
Попробуйте онлайн!
Это слишком медленно, чтобы не работать даже в
1729
Интернете.Намного быстрее, 12 байт
Кредиты Денису.
Попробуйте онлайн!
источник
Ðf⁸
может статьfR
. Второй⁸
может быть удален.Œċ*3S€ċ>1
.Mathematica, 35 байт
Чистая функция, принимающая положительное целое число и возвращающая
True
илиFalse
.#^3+#2^3&~Array~{#,#}
Таблицы всех сумм кубов двух целых чисел между 1 и входом. (Это было бы намного быстрее с разумной границей целых чисел, которые должны быть в кубе, как корень куба ввода; но это заняло бы драгоценные байты. На самом деле, код занимает около 30 секунд на входе13832
и масштабируется по крайней мере квадратично во входных данных.)Count[...,#,2]
подсчитывает, сколько раз вход появляется в этом списке на уровне гнезд 2; если это число больше чем2
, то входное значение представляет собой число полутаксикабы (больше 2, а не больше 1, поскольку a ^ 3 + b ^ 3 и b ^ 3 + a ^ 3 учитываются отдельно).источник
Mathematica,
3837 байт-1 байт благодаря @GregMartin
Как всегда, Mathematica встроена во все.
источник
Tr[1^...]
работает вместоLength@
.JavaScript (ES7), 63 байта
Относительно быстрая рекурсивная функция, которая в конечном итоге возвращает логическое значение.
демонстрация
Показать фрагмент кода
источник
Mathematica, 48 байтов
вход
выход
источник
#!=1729&&
больше нет необходимости теперь, когда спецификация была уточнена.Solve
а неReduce
?Length@Solve[x^3+y^3-#==0<x<y,{x,y},Integers]>1&
который заменяет&&
с-
и немного переставляя.Python, 71 байт
Попробуйте онлайн
источник
MATL (
1615 байт) (1312 в идеале)Попробуйте онлайн!
Объяснение:
Основанный на Jelly-решении «Leaky Nun», только что преобразованный в MATL, возможно, в некоторых частях избыточен и может быть улучшен:
Примечание: ложные выходы включают 0 и -1, в то время как истинный вывод равен 1. Спасибо Луису Мендо за сохранение здесь дополнительного байта, заменив «s1>» на «sq».
В идеале (
1312 байт):... достаточно, но для больших чисел это вылетает на странице tio.run.
источник
1>
наq
. Кроме того, выH
вместо того, чтобыG
в объяснении. Тот факт, что программа вылетает при большом количестве, обычно не имеет значения для оценки. Если это работает при условии достаточного количества времени и памяти, что приемлемо, если вРубин , 52 байта
Попробуйте онлайн!
Так как эта версия создает огромный п 2 массив размером , она терпит неудачу во всех истинных тестовых случаях выше
1729
, вот модифицированная версия, которая имеет меньший размер массива около n 2/3 , который успешно проверяет по крайней мере до 31392.Попробуйте онлайн! (Модифицированный)
источник
PHP , 76 байт
Попробуйте онлайн!
Поиск до 400000 Попробуйте онлайн!
источник