programming
integer
triangle pattern
coding tutorial
print function

How can I print integer in triangle form

Interview Questions practice on Codemia

Over 8,000 real interview questions from top companies, searchable by company and role.

Browse interview questions

Printing integers in a triangle form is a common exercise for beginners in programming, designed to enhance their logic-building skills with loops and control structures. This task requires the output to be structured in a triangular pattern where each row contains sequential numbers, and the number of integers per row increases with each step. Here's a technical explanation and examples to illustrate how you can accomplish this task in different programming languages.

Understanding the Problem

Requirements:

  • Generate a sequence of integers.
  • Distribute these integers in rows where each subsequent row contains one more integer than the last.
  • Form an output that visually resembles a triangle.

Example:

For an input n = 5, your program should produce the following output:

 
11
22 3
34 5 6
47 8 9 10
511 12 13 14 15

Technical Explanation

Logical Steps:

  1. Initialize a variable to keep track of the current number to print.
  2. Loop through a series of rows, from 1 to n.
  3. Inner Loop: For each row, print the current number and increment until the row is complete.
  4. Move to the next line after completing each row.

Pseudocode:

plaintext
1initialize current_number to 1
2for i from 1 to n do:
3    for j from 1 to i do:
4        print current_number
5        increment current_number
6    print a newline

Examples in Different Programming Languages

Python

python
1def print_integer_triangle(n):
2    current_number = 1
3    for i in range(1, n + 1):
4        for j in range(i):
5            print(f"{current_number} ", end="")
6            current_number += 1
7        print()
8
9print_integer_triangle(5)

Explanation:

  • We use two nested loops; the outer loop controls the number of rows (i), and the inner loop (j) controls the number of integers per row.
  • current_number starts at 1 and is incremented after each print.
  • print() statement at the end of the outer loop ensures moving to a new line after completing one row of numbers.

Java

java
1public class IntegerTriangle {
2    public static void printIntegerTriangle(int n) {
3        int currentNumber = 1;
4        for (int i = 1; i <= n; i++) {
5            for (int j = 0; j < i; j++) {
6                System.out.print(currentNumber + " ");
7                currentNumber++;
8            }
9            System.out.println();
10        }
11    }
12
13    public static void main(String[] args) {
14        printIntegerTriangle(5);
15    }
16}

Explanation:

  • Java employs similar logic with a combination of for loops.
  • System.out.print() is used for numbers, and System.out.println() for moving to the next line.

C++

cpp
1#include <iostream>
2
3void printIntegerTriangle(int n) {
4    int currentNumber = 1;
5    for (int i = 1; i <= n; i++) {
6        for (int j = 0; j < i; j++) {
7            std::cout << currentNumber << " ";
8            currentNumber++;
9        }
10        std::cout << std::endl;
11    }
12}
13
14int main() {
15    printIntegerTriangle(5);
16    return 0;
17}

Explanation:

  • In C++, std::cout is used for output.
  • Similar nesting and incrementation logic is followed as in the Python and Java examples.

Key Considerations

  • Complexity: Time complexity is O(n2)O(n^2) due to the nested loops.
  • Scalability: This approach is efficient for moderate values of n. For extremely large n, consider memory and processing constraints.
  • Flexibility: This logic can easily adapt to different sequences or be altered to print different shapes.

Summary Table

FeaturePythonJavaC++
Initial Number111
Loop Typefor i in range(1, n + 1)for (int i = 1; i <= n; i++)for (int i = 1; i <= n; i++)
Direct Print Functionprint()System.out.print()std::cout
End of Line Printprint() (no args)System.out.println()std::cout << std::endl;
Nested Loop for Columnsfor j in range(i)for (int j = 0; j < i; j++)for (int j = 0; j < i; j++)

Circling back, success with this problem involves understanding nested loops, sequence generation, and structuring output — skills applicable to a range of programming challenges. With practice, you'll gain proficiency and confidence in these fundamental aspects of programming.


Free course
Beginner
7 lessons
2 hours
Tackling System Design Interview Problems

A short course that equips you with the skills to approach system design interviews methodically.

Start the free course
Track what you have practised

A free account saves your progress, solutions and study plan across every problem on Codemia.

Interview Questions practice on Codemia

Over 8,000 real interview questions from top companies, searchable by company and role.

Browse interview questions

All Rights Reserved.