Dado un número entero N , la tarea es imprimir el patrón de árbol binario modificado.
En el patrón de triángulo binario modificado , el primer y último elemento de una enésima fila son 1 y los elementos del medio (N – 2) son 0.
Ejemplos:
Entrada: N = 6
Salida:
1
11
101
1001
10001
100001
Entrada: N = 3
Salida:
1
11
101
Enfoque: De los ejemplos anteriores, se puede observar que, para cada fila N:
- El primer y enésimo elemento es un 1
- y los elementos 2 a (N-1) son 0
Por lo tanto, se puede desarrollar un algoritmo para imprimir un patrón como:
- Ejecute un ciclo de 1 a N usando una variable de ciclo i, que denota el número de fila del patrón de triángulo.
- Para cada fila i, ejecuta un ciclo de 1 a i, usando una variable de ciclo j, que denota el número en cada fila.
- En cada iteración de j, compruebe si j es 1 o i. Si alguno de ellos es cierto, imprima 1.
- Si ninguno de los casos es cierto para j, imprima 0
- Incrementa el valor de j en 1 después de cada iteración
- Cuando el bucle j se ha completado con éxito, hemos impreso una fila del patrón. Por lo tanto, cambie la salida a la siguiente línea imprimiendo una línea siguiente.
- Incremente el valor de i y repita todo el proceso hasta que N filas se hayan impreso con éxito.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation to print the // modified binary triangle pattern #include <bits/stdc++.h> using namespace std; // Function to print the modified // binary pattern void modifiedBinaryPattern(int n) { // Loop to traverse the rows for (int i = 1; i <= n; i++) { // Loop to traverse the // numbers in each row for (int j = 1; j <= i; j++) { // Check if j is 1 or i // In either case print 1 if (j == 1 || j == i) cout << 1; // Else print 0 else cout << 0; } // Change the cursor to next // line after each row cout << endl; } } // Driver Code int main() { int n = 7; // Function Call modifiedBinaryPattern(n); }
Java
// Java implementation to print the // modified binary triangle pattern import java.io.*; class GFG{ // Function to print the modified // binary pattern static void modifiedBinaryPattern(int n) { // Loop to traverse the rows for(int i = 1; i <= n; i++) { // Loop to traverse the // numbers in each row for(int j = 1; j <= i; j++) { // Check if j is 1 or i // In either case print 1 if (j == 1 || j == i) System.out.print(1); // Else print 0 else System.out.print(0); } // Change the cursor to next // line after each row System.out.println(); } } // Driver Code public static void main (String[] args) { int n = 7; // Function call modifiedBinaryPattern(n); } } // This code is contributed by shubhamsingh10
Python 3
# python3 implementation to print the # modified binary triangle pattern # Function to print the modified # binary pattern def modifiedBinaryPattern(n): # Loop to traverse the rows for i in range(1, n + 1, 1): # Loop to traverse the # numbers in each row for j in range(1, i + 1, 1): # Check if j is 1 or i # In either case print 1 if (j == 1 or j == i): print(1, end = "") # Else print 0 else: print(0, end = "") # Change the cursor to next # line after each row print('\n', end = "") # Driver Code if __name__ == '__main__': n = 7 # Function Call modifiedBinaryPattern(n) # This code is contributed by Samarth
C#
// C# implementation to print the // modified binary triangle pattern using System; class GFG{ // Function to print the modified // binary pattern static void modifiedBinaryPattern(int n) { // Loop to traverse the rows for(int i = 1; i <= n; i++) { // Loop to traverse the // numbers in each row for(int j = 1; j <= i; j++) { // Check if j is 1 or i // In either case print 1 if (j == 1 || j == i) Console.Write(1); // Else print 0 else Console.Write(0); } // Change the cursor to next // line after each row Console.WriteLine(); } } // Driver Code public static void Main() { int n = 7; // Function call modifiedBinaryPattern(n); } } // This code is contributed by Nidhi_Biet
Javascript
<script> // Javascript implementation to print the // modified binary triangle pattern // Function to print the modified // binary pattern function modifiedBinaryPattern(n) { // Loop to traverse the rows for(let i = 1; i <= n; i++) { // Loop to traverse the // numbers in each row for(let j = 1; j <= i; j++) { // Check if j is 1 or i // In either case print 1 if (j == 1 || j == i) document.write(1); // Else print 0 else document.write(0); } // Change the cursor to next // line after each row document.write("<br/>"); } } // Driver code let n = 7; // Function call modifiedBinaryPattern(n); // This code is contributed by susmitakundugoaldanga. </script>
1 11 101 1001 10001 100001 1000001
Complejidad temporal: O(n 2 )
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por thakurabhaysingh445 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA