Dado un número N , la tarea es encontrar el índice del número triangular más pequeño con N dígitos .
Un número se denomina número triangular si podemos representarlo en forma de cuadrícula triangular de puntos tal que los puntos forman un triángulo equilátero y cada fila contiene tantos puntos como el número de la fila, es decir, la primera fila tiene un punto , la segunda fila tiene dos puntos, la tercera fila tiene tres puntos y así sucesivamente. Los números triangulares iniciales son 1, 3, 6, 10, 15, 21, 28…………
Ejemplos:
Entrada: N = 2
Salida: 4
Número triangular más pequeño con 2 dígitos = 10, y 4 es el índice de 10.
Entrada: N = 3
Salida: 14
Número triangular más pequeño con
3 dígitos = 105, y 14 es el índice de 105.
Enfoque: La observación clave en el problema es que el índice de los números triangulares más pequeños con N dígitos forma una serie que es:
1, 4, 14, 45, 141...
El término del índice del número triangular más pequeño con N dígitos será
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of // the above approach #include <bits/stdc++.h> using namespace std; // Function to return index of smallest // triangular no n digits int findIndex(int n) { float x = sqrt(2 * pow(10, (n - 1))); return round(x); } // Driver Code int main() { int n = 3; cout << findIndex(n); return 0; }
Java
// Java implementation of the above approach class GFG{ // Function to return index of smallest // triangular no n digits static double findIndex(int n) { double x = Math.sqrt(2 * Math.pow(10, (n - 1))); return Math.round(x); } // Driver code public static void main(String[] args) { int n = 3; System.out.print(findIndex(n)); } } // This code is contributed by shubham
Python3
# Python3 implementation of # the above approach import math # Function to return index of smallest # triangular no n digits def findIndex(n): x = math.sqrt(2 * math.pow(10, (n - 1))); return round(x); # Driver Code n = 3; print(findIndex(n)); # This code is contributed by Code_Mech
C#
// C# implementation of the above approach using System; class GFG{ // Function to return index of smallest // triangular no n digits static double findIndex(int n) { double x = Math.Sqrt(2 * Math.Pow(10, (n - 1))); return Math.Round(x); } // Driver code public static void Main(String[] args) { int n = 3; Console.Write(findIndex(n)); } } // This code is contributed by AbhiThakur
Javascript
<script> // Javascript implementation of the above approach // Function to return index of smallest // triangular no n digits function findIndex( n) { let x = Math.sqrt(2 * Math.pow(10, (n - 1))); return Math.round(x); } // Driver code let n = 3; document.write(findIndex(n)); // This code is contributed by todaysgaurav </script>
14