Índice del número triangular más pequeño con N dígitos

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:
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  N^{th}   término del índice del número triangular más pequeño con N dígitos será  \lfloor \sqrt{2*10^{n-1} \rceil}
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>
Producción: 

14

 

Publicación traducida automáticamente

Artículo escrito por spp____ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *