El n-ésimo número de Taxicab Taxicab(n), también llamado n-ésimo número de Hardy-Ramanujan , se define como el número más pequeño que se puede expresar como la suma de dos números cúbicos positivos de n formas distintas.
El número de taxi más famoso es 1729 = Taxicab(2) = (1 ^ 3) + (12 ^ 3) = (9 ^ 3) + (10 ^ 3).
Dado un número N, imprime los primeros N números de Taxicab(2).
Ejemplos:
Input: N = 1 Output: 1729 Explanation: 1729 = (1 ^ 3) + (12 ^ 3) = (9 ^ 3) + (10 ^ 3) Input: N = 2 Output: 1729 4104 Explanation: 1729 = (1 ^ 3) + (12 ^ 3) = (9 ^ 3) + (10 ^ 3) 4104 = (16 ^ 3) + (2 ^ 3) = (15 ^ 3) + (9 ^ 3)
Probamos todos los números uno por uno y verificamos si es un número de taxi. Para verificar si un número es Taxicab, usamos dos bucles anidados:
en el bucle externo, calculamos la raíz cúbica de un número.
En el ciclo interno, verificamos si hay una raíz cúbica que dé el resultado.
C++
// C++ implementation to print first N Taxicab(2) // numbers : #include<bits/stdc++.h> using namespace std; void printTaxicab2(int N) { // Starting from 1, check every number if // it is Taxicab until count reaches N. int i = 1, count = 0; while (count < N) { int int_count = 0; // Try all possible pairs (j, k) whose cube // sums can be i. for (int j = 1; j <= pow(i, 1.0/3); j++) for (int k = j + 1; k <= pow(i, 1.0/3); k++) if (j*j*j + k*k*k == i) int_count++; // Taxicab(2) found if (int_count == 2) { count++; cout << count << " " << i << endl; } i++; } } // Driver code int main() { int N = 5; printTaxicab2(N); return 0; }
Java
// JAVA Code for Taxicab Numbers import java.util.*; class GFG { public static void printTaxicab2(int N) { // Starting from 1, check every number if // it is Taxicab until count reaches N. int i = 1, count = 0; while (count < N) { int int_count = 0; // Try all possible pairs (j, k) whose // cube sums can be i. for (int j = 1; j <= Math.pow(i, 1.0/3); j++) for (int k = j + 1; k <= Math.pow(i, 1.0/3); k++) if (j * j * j + k * k * k == i) int_count++; // Taxicab(2) found if (int_count == 2) { count++; System.out.println(count + " " + i); } i++; } } /* Driver program to test above function */ public static void main(String[] args) { int N = 5; printTaxicab2(N); } } // This code is contributed by Arnav Kr. Mandal.
Python3
# Python3 implementation to print # first N Taxicab(2) numbers import math def printTaxicab2(N): # Starting from 1, check every number if # it is Taxicab until count reaches N. i, count = 1, 0 while (count < N): int_count = 0 # Try all possible pairs (j, k) # whose cube sums can be i. for j in range(1, math.ceil(\ pow(i, 1.0 / 3)) + 1): for k in range(j + 1,\ math.ceil(pow(i, 1.0 / 3)) + 1): if (j * j * j + k * k * k == i): int_count += 1 # Taxicab(2) found if (int_count == 2): count += 1 print(count, " ", i) i += 1 # Driver code N = 5 printTaxicab2(N) # This code is contributed by Anant Agarwal.
C#
// C# Code for Taxicab Numbers using System; class GFG { public static void printTaxicab2(int N) { // Starting from 1, check every number if // it is Taxicab until count reaches N. int i = 1, count = 0; while (count < N) { int int_count = 0; // Try all possible pairs (j, k) whose // cube sums can be i. for (int j = 1; j <= Math.Pow(i, 1.0/3); j++) for (int k = j + 1; k <= Math.Pow(i, 1.0/3); k++) if (j * j * j + k * k * k == i) int_count++; // Taxicab(2) found if (int_count == 2) { count++; Console.WriteLine(count + " " + i); } i++; } } // Driver program public static void Main() { int N = 5; printTaxicab2(N); } } // This code is contributed by vt_m.
PHP
<?php // PHP implementation to print first // N Taxicab(2) numbers : function printTaxicab2($N) { // Starting from 1, check every // number if it is Taxicab until // count reaches N. $i = 1; $count = 0; while ($count < $N) { $int_count = 0; // Try all possible pairs (j, k) // whose cube sums can be i. for ($j = 1; $j <= pow($i, 1.0/3); $j++) for ( $k = $j + 1; $k <= pow($i, 1.0/3); $k++) if ($j * $j * $j + $k * $k * $k == $i) $int_count++; // Taxicab(2) found if ($int_count == 2) { $count++; echo $count, " ", $i, "\n"; } $i++; } } // Driver code $N = 5; printTaxicab2($N); // This code is contributed by ajit. ?>
Javascript
<script> // Javascript implementation to print first // N Taxicab(2) numbers : function printTaxicab2(N) { // Starting from 1, check every // number if it is Taxicab until // count reaches N. let i = 1; count = 0; while (count < N) { let int_count = 0; // Try all possible pairs (j, k) // whose cube sums can be i. for (let j = 1; j <= Math.pow(i, 1.0/3); j++) for (let k = j + 1; k <= Math.pow(i, 1.0/3); k++) if (j * j * j + k * k * k == i) int_count++; // Taxicab(2) found if (int_count == 2) { count++; document.write(count + " " + i + "<br>"); } i++; } } // Driver code let N = 5; printTaxicab2(N); // This code is contributed by _saurabh_jaiswal. </script>
1 1729 2 4104 3 13832 4 20683 5 32832
Este artículo es una contribución de Rohit Thapliyal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA