Cuente el número total de triángulos después de la enésima operación

Dado un triángulo equilátero, la tarea es calcular el número total de triángulos después de realizar la siguiente operación N veces. 
Para cada operación, los triángulos sin color se toman y se dividen en 4 triángulos equiláteros iguales. Cada triángulo invertido formado está coloreado. Consulte la siguiente figura para obtener más detalles.
Para N=1 el triángulo formado es:
 

Para N=2 el triángulo formado es:
 

Ejemplos: 
 

Entrada: N = 10 
Salida: 118097
Entrada: N = 2 
Salida: 17 
 

Acercarse: 
 

  • En cada operación se forman 3 triángulos sin color, 1 triángulo de color y el propio triángulo
  • Al escribir la declaración anterior matemáticamente; recuento de triángulos en el N-ésimo movimiento = 3 * recuento de triángulos en el (N-1)-ésimo movimiento + 2
  • Por lo tanto, inicializando una variable curr = 1 y tri_count = 0
  • A continuación, se itera un ciclo de 1 a N
  • Para cada iteración, se realiza la operación mencionada anteriormente.
  • Finalmente, se devuelve el tri_count

A continuación se muestra la implementación del enfoque anterior: 
 

C++

#include <bits/stdc++.h>
using namespace std;
// function to return the
// total no.of Triangles
int CountTriangles(int n)
{
    int curr = 1;
    int Tri_count = 0;
    for (int i = 1; i <= n; i++) {
        // For every subtriangle formed
        // there are possibilities of
        // generating (curr*3)+2
 
        Tri_count = (curr * 3) + 2;
        // Changing the curr value to Tri_count
        curr = Tri_count;
    }
    return Tri_count;
}
 
// driver code
int main()
{
    int n = 10;
    cout << CountTriangles(n);
    return 0;
}

Java

class Gfg {
    // Method to return the
    // total no.of Triangles
    public static int CountTriangles(int n)
    {
        int curr = 1;
        int Tri_count = 0;
        for (int i = 1; i <= n; i++) {
            // For every subtriangle formed
            // there are possibilities of
            // generating (curr*3)+2
 
            Tri_count = (curr * 3) + 2;
            // Changing the curr value to Tri_count
            curr = Tri_count;
        }
        return Tri_count;
    }
 
    // driver code
    public static void main(String[] args)
    {
        int n = 10;
        System.out.println(CountTriangles(n));
    }
}

Python

# Function to return the
# total no.of Triangles
def countTriangles(n):
     
    curr = 1
    Tri_count = 0
    for i in range(1, n + 1):
             
        # For every subtriangle formed
        # there are possibilities of
        # generating (curr * 3)+2
        Tri_count = (curr * 3) + 2
        # Changing the curr value to Tri_count
        curr = Tri_count
    return Tri_count
     
n = 10
print(countTriangles(n))

C#

using System;
 
class Gfg
{
    // Method to return the
    // total no.of Triangles
    public static int CountTriangles(int n)
    {
        int curr = 1;
        int Tri_count = 0;
        for (int i = 1; i <= n; i++)
        {
            // For every subtriangle formed
            // there are possibilities of
            // generating (curr*3)+2
            Tri_count = (curr * 3) + 2;
             
            // Changing the curr value to Tri_count
            curr = Tri_count;
        }
        return Tri_count;
    }
 
    // Driver code
    public static void Main(String[] args)
    {
        int n = 10;
        Console.WriteLine(CountTriangles(n));
    }
}
 
// This code is contributed by 29AjayKumar

Javascript

<script>
    // Method to return the
    // total no.of Triangles
    function CountTriangles(n)
    {
        var curr = 1;
        var Tri_count = 0;
        for (i = 1; i <= n; i++)
        {
         
            // For every subtriangle formed
            // there are possibilities of
            // generating (curr*3)+2
 
            Tri_count = (curr * 3) + 2;
            // Changing the curr value to Tri_count
            curr = Tri_count;
        }
        return Tri_count;
    }
 
    // driver code
        var n = 10;
        document.write(CountTriangles(n));
 
// This code is contributed by aashish1995
</script>
Producción: 

118097

 

Complejidad de tiempo: O(n)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por imran_shaik 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 *