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> |
1 11 101 1001 10001 100001 1000001
Time Complexity: O(n2)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!