Programa para imprimir patrón de triángulo binario modificado

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: 

11 
101 
1001 
10001 
100001
Entrada: N = 3 
Salida: 

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>
Producción: 

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

Deja una respuesta

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