Given an integer N, the task is to print the modified binary tree pattern.
In Modified Binary Triangle Pattern, the first and last element of a Nth row are 1 and the middle (N – 2) elements are 0.
Examples:
Input: N = 6
Output:
1
11
101
1001
10001
100001
Input: N = 3
Output:
1
11
101
Approach: From the above examples, it can be observed that, for each row N:
- 1st and Nth element is a 1
- and elements 2 to (N-1) are 0
Therefore an algorithm can be developed to print such pattern as:
- Run a loop from 1 to N using a loop variable i, which denotes the row number of the triangle pattern.
- For each row i, run a loop from 1 to i, using a loop variable j, which denotes the number in each row.
- In each iteration of j, check if j is 1 or i. If either of it true, print 1.
- If none of the case is true for j, then print 0
- Increment the value of j by 1 after each iteration
- When the j loop has completed successfully, we have printed a row of the pattern. Therefore change the output to the next line by printing a next line.
- Increment the value of i and repeat the whole process till N rows has been printed successfully.
Below is the implementation of the above approach:
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> |
Output:
1 11 101 1001 10001 100001 1000001
Time Complexity: O(n2)
Auxiliary Space: O(1)