Dado un número N , la tarea es contar el número de triángulos necesarios para formar un castillo de naipes de N niveles .
Ejemplos:
Entrada: N = 3
Salida: 13
Explicación:
A partir de la imagen de arriba, se pueden hacer las siguientes observaciones:
Conteo de triángulos de la unidad 1 = 9 (6 triángulos no invertidos y 3 triángulos invertidos)
Conteo de triángulos de la unidad 2 = 3
Conteo de triángulos de la unidad 3 = 1
Por lo tanto, el total número de triángulos = 6 + 3 + 3 + 1 = 13Entrada: N = 2
Salida: 5
Enfoque: El número requerido de triángulos necesarios para formar un castillo de naipes de N niveles se puede calcular mediante la fórmula:
Ilustración:
Para N = 3
Número de triángulos = 3 * (3 + 2) * (6 + 1) / 8 = 13Para N = 2
Número de triángulos = 2 * (2 + 2) * (4+ 1) / 8 = 5
A continuación se muestra la implementación del enfoque anterior:
CPP
// C++ implementation of the // above approach #include <bits/stdc++.h> using namespace std; // Function to find the // number of triangles int noOfTriangles(int n) { return floor(n * (n + 2) * (2 * n + 1) / 8); } // Driver Code int main() { int n = 3; // Function call cout << noOfTriangles(n) << endl; return 0; }
Java
// Java implementation of the // above approach import java.lang.*; class GFG { // Function to find number of triangles public static int noOfTriangles(int n) { return (n * (n + 2) * (2 * n + 1) / 8); } // Driver Code public static void main(String args[]) { int n = 3; // Function call System.out.print(noOfTriangles(n)); } }
Python3
# Python3 implementation of # the above approach # Function to find required # number of triangles def noOfTriangles(n): return n * (n + 2) * (2 * n + 1) // 8 # Driver Code n = 3 # Function call print(noOfTriangles(n))
C#
// C# implementation of the // above approach using System; class GFG { // Function to find number of triangles public static int noOfTriangles(int n) { return (n * (n + 2) * (2 * n + 1) / 8); } // Driver Code public static void Main(String[] args) { int n = 3; Console.Write(noOfTriangles(n)); } }
Javascript
<script> // Javascript implementation of the // above approach // Function to find the // number of triangles function noOfTriangles(n) { return Math.floor(n * (n + 2) * (2 * n + 1) / 8); } // Driver Code var n = 3; // Function call document.write(noOfTriangles(n)); </script>
13
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)