fundo
O número de Ramanujan, 1729, é chamado de número de táxi devido ao conto (possivelmente apócrifo) de Hardy embarcando em um táxi para visitar Ramanujan no hospital com esse número, que lhe parecia insípido.
Desde então, é conhecido como o mais famoso de uma classe de números inteiros, conhecida como "números de táxi", que é expressável como a soma de dois enésimos poderes (de números inteiros positivos) de duas (ou às vezes 'k') maneiras diferentes.
1729 é o menor número natural expressável como a soma de 2 cubos de 2 maneiras diferentes, tornando-o o primeiro número de táxi "3,2" (sendo "n, k" geral)).
Desafio
Dado um número, decida se é um "número de táxi secundário" "3,2" - o que significa que ele cumpre a mesma restrição que 1729 (2 somas únicas de cubos), mas não precisa ser o menor número inteiro "3" , Classe 2 "(sendo 1729, é claro).
Casos de exemplo:
1729 = 10 ^ 3 + 9 ^ 3 = 12 ^ 3 + 1 ^ 3
4104 = 15 ^ 3 + 9 ^ 3 = 16 ^ 3 + 2 ^ 3
Determine o valor de x na figura abaixo:
Bem como 20683, 32832, 39312 ...
Pontuação
Isso é código-golfe , então a resposta mais curta em cada idioma vence.
Código aproximado do Matlab para encontrar outros casos por força bruta:
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