Python Program to Print Double the Number Pattern

The best and excellent way to learn a java programming language is by practicing Simple Java Program Examples as it includes basic to advanced levels of concepts.

Given the number of rows, the task is to print Double the Number Pattern in C, C++, and Python.

Examples:

Example1:

Input:

Given number of rows = 10

Output:

1 
2 1 
4 2 1 
8 4 2 1 
16 8 4 2 1 
32 16 8 4 2 1 
64 32 16 8 4 2 1 
128 64 32 16 8 4 2 1 
256 128 64 32 16 8 4 2 1

Example2:

Input:

Given number of rows = 7

Output:

  1 
  2   1 
  4   2   1 
  8   4   2   1 
 16   8   4   2   1 
 32  16   8   4   2   1

Program to Print Double the Number Pattern in C, C++, and Python

Below are the ways to print Double the Number Pattern in C, C++, and Python.

Method #1: Using For Loop (Static Input)

Approach:

  • Give the number of rows as static input and store it in a variable.
  • Loop from 1 to the number of rows using For loop.
  • Loop from iterator value of the parent For loop -1 to 0 in decreasing order using another for loop(Nested For loop).
  • Print the 2 power n value with space where n is the value of the inner for loop.
  • Print the Newline character after the end of the inner loop.
  • The Exit of the Program.

1) Python Implementation

Below is the implementation:

# Give the number of rows as static input and store it in a variable.
numbrrows = 7
# Loop from 1 to the number of rows using For loop.
for m in range(1, numbrrows):
    # Loop from iterator value of the parent For loop -1 to 0
    # in decreasing order using another for loop(Nested For loop).
    for n in range(m - 1, -1, -1):
        # Print the 2 power n value with space where n is the value of the inner for loop.
        print(2**n, end=' ')
    # Print the Newline character after the end of the inner loop.
    print()

Output:

  1 
  2   1 
  4   2   1 
  8   4   2   1 
 16   8   4   2   1 
 32  16   8   4   2   1

2) C++ Implementation

Below is the implementation:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{

    // Give the number of rows as static input and store it
    // in a variable.
    int numbrrows = 10;
    // Loop from 1 to the number of rows using For loop.
    for (int m = 1; m < numbrrows; m++) {
        /*  Loop from iterator value of the parent For loop
     -1 to 0 in decreasing order using another for
     loop(Nested For loop)*/
        for (int n = m - 1; n >= 0; n--) {
            // Print the 2 power n value with space where n
            // is the value of the inner for loop.
            cout << pow(2, n) << " ";
        }
        // Print the Newline character after the end of the
        // inner loop.
        cout << endl;
    }
    return 0;
}

Output:

1 
2 1 
4 2 1 
8 4 2 1 
16 8 4 2 1 
32 16 8 4 2 1 
64 32 16 8 4 2 1 
128 64 32 16 8 4 2 1 
256 128 64 32 16 8 4 2 1

3) C Implementation

Below is the implementation:

#include <math.h>
#include <stdio.h>
int main()
{

    // Give the number of rows as static input and store it
    // in a variable.
    int numbrrows = 4;
    // Loop from 1 to the number of rows using For loop.
    for (int m = 1; m < numbrrows; m++) {
        /*  Loop from iterator value of the parent For loop
     -1 to 0 in decreasing order using another for
     loop(Nested For loop)*/
        for (int n = m - 1; n >= 0; n--) {
            // Print the 2 power n value with space where n
            // is the value of the inner for loop.
            int powervalu = pow(2, n);
            printf("%d ", powervalu);
        }
        // Print the Newline character after the end of the
        // inner loop.
        printf("\n");
    }
    return 0;
}

Output:

1 
2 1 
4 2 1

Method #2: Using For Loop (User Input)

Approach:

  • Give the number of rows as user input and store it in a variable.
  • Loop from 1 to the number of rows using For loop.
  • Loop from iterator value of the parent For loop -1 to 0 in decreasing order using another for loop(Nested For loop).
  • Print the 2 power n value with space where n is the value of the inner for loop.
  • Print the Newline character after the end of the inner loop.
  • The Exit of the Program.

1) Python Implementation

Give the number of rows as user input using int(input()) and store it in a variable.

Below is the implementation:

# Give the number of rows as user input using int(input()) and store it in a variable.
numbrrows = int(input('Enter some random number of rows = '))
# Loop from 1 to the number of rows using For loop.
for m in range(1, numbrrows):
    # Loop from iterator value of the parent For loop -1 to 0
    # in decreasing order using another for loop(Nested For loop).
    for n in range(m - 1, -1, -1):
        # Print the 2 power n value with space where n is the value of the inner for loop.
        print(2**n, end=' ')
    # Print the Newline character after the end of the inner loop.
    print()

Output:

Enter some random number of rows = 8
1 
2 1 
4 2 1 
8 4 2 1 
16 8 4 2 1 
32 16 8 4 2 1 
64 32 16 8 4 2 1

2) C++ Implementation

Give the number of rows as user input using cin and store it in a variable.

Below is the implementation:

#include <iostream>
#include <math.h>
using namespace std;
int main()
{

    // Give the number of rows as user input using
    // int(input()) and store it in a variable.
    int numbrrows;
    cin >> numbrrows;
    // Loop from 1 to the number of rows using For loop.
    for (int m = 1; m < numbrrows; m++) {
        /*  Loop from iterator value of the parent For loop
     -1 to 0 in decreasing order using another for
     loop(Nested For loop)*/
        for (int n = m - 1; n >= 0; n--) {
            // Print the 2 power n value with space where n
            // is the value of the inner for loop.
            cout << pow(2, n) << " ";
        }
        // Print the Newline character after the end of the
        // inner loop.
        cout << endl;
    }

    return 0;
}

Output:

5
1 
2 1 
4 2 1 
8 4 2 1

3) C Implementation

Give the number of rows as user input using scanf and store it in a variable.

Below is the implementation:

#include <math.h>
#include <stdio.h>
int main()
{

    // Give the number of rows as user input using scanf and
    // store it in a variable.
    int numbrrows;
    scanf("%d", &numbrrows);
    // Loop from 1 to the number of rows using For loop.
    for (int m = 1; m < numbrrows; m++) {
        /*  Loop from iterator value of the parent For loop
     -1 to 0 in decreasing order using another for
     loop(Nested For loop)*/
        for (int n = m - 1; n >= 0; n--) {
            // Print the 2 power n value with space where n
            // is the value of the inner for loop.
            int powervalu = pow(2, n);
            printf("%d ", powervalu);
        }
        // Print the Newline character after the end of the
        // inner loop.
        printf("\n");
    }
    return 0;
}

Output:

5
1 
2 1 
4 2 1 
8 4 2 1

Related Programs: