Contexte
Le numéro de Ramanujan, 1729, est appelé numéro de taxi en raison de l'histoire (peut-être apocryphe) de Hardy embarquant dans un taxi pour visiter Ramanujan à l'hôpital avec ce numéro, qui lui semblait fade.
Il est depuis connu comme le plus célèbre d'une classe d'entiers connus sous le nom de "nombres de taxis" qui sont exprimables comme la somme de deux nièmes puissances (d'entiers positifs) de deux (ou parfois "k") manières différentes.
1729 est le plus petit nombre naturel exprimable comme la somme de 2 cubes de 2 manières différentes, ce qui en fait le premier nombre de taxis "3,2" ("n, k" étant général).
Défi
Étant donné un nombre, décidez s'il s'agit d'un "3,2" numéro de taxi secondaire "- ce qui signifie qu'il remplit la même contrainte que 1729 (2 sommes uniques de cubes), mais ne doit pas nécessairement être le plus petit entier de ce type" 3 , Classe 2 "(soit 1729, bien sûr).
Exemples de cas:
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
Ainsi que 20683, 32832, 39312 ...
Notation
C'est le golf de code , donc la réponse la plus courte dans chaque langue l'emporte.
Code Matlab approximatif pour trouver d'autres cas par force brute:
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