C++程序 打印倒置金字塔

C++程序 打印倒置金字塔

这里我们将使用3种不同的方法构建C ++程序来打印倒置金字塔:

  1. 半倒置 使用 “*”
  2. 半倒置 使用 数字
  3. 使用 “*” 的完整倒置金字塔

1.使用“*”打印倒置半三角形的程序

输入:

n=4

输出:

* * * *
* * *
* *
*

正如我们从给定的例子中观察到的那样,打印的行数等于给定的输入n,打印的列数从n递减到1。因此,我们从n到1运行外部for循环,从1到行数运行内部for循环。

例子:

// C ++ program to demonstrate
// inverted half triangle using *
using namespace std;
#include <bits/stdc++.h>
#include <iostream>
int main()
{
    int n = 4;
    for (int i = n; i >= 1; --i) {
        for (int j = 1; j <= i; ++j) {
            cout << "* ";
        }
        cout << endl;
    }
    return 0;
}  

输出

* * * * 
* * * 
* * 
* 

时间复杂度: O(n^2)

这里n是行数。

空间复杂度: O(1)

因为使用了常量额外空间。

2.使用数字打印倒置半金字塔的程序

输入:

n=4

输出:

1 2 3 4
1 2 3
1 2
1

从给定的例子中可以看出,我们可以尝试从n到1运行外部for循环,对于每个行遍历,我们应该打印从1到该行号的元素。这意味着我们需要打印特定的列号,而不是打印*。

例子:

// C ++ program to demonstrate
// inverted half triangle using Digits
using namespace std;
#include <bits/stdc++.h>
#include <iostream>
int main()
{
    int n=4; // took a default value
    for (int i = n; i >= 1; --i) { // loop for iterating
        for (int j = 1; j <= i; ++j) { // loop for printing
            cout << j << " ";
        }
        cout << endl;
    }
    return 0;
}  

输出

1 2 3 4 
1 2 3 
1 2 
1 

时间复杂度: O(n^2)

空间复杂度: O(1)

因为使用了常量额外空间。

3.使用“*”打印倒置全金字塔的程序

输入:

n = 4

输出:

* * * * * * * * * 
  * * * * * * * 
    * * * * * 
      * * * 
        *

例子:

// C ++ program to demonstrate
// inverted pyramid using *
using namespace std;
#include <bits/stdc++.h>
#include <iostream>
int main()
{
    int n=5;
    for (int i = n; i >= 1; --i) {
        for (int k = 0; k < n - i; ++k) {
            cout << "  ";
        }
        for (int j = i; j <= 2 * i - 1; ++j) {
            cout << "* ";
        }
        for (int j = 0; j < i - 1; ++j) {
            cout << "* ";
        }
        cout << endl;
    }
    return 0;
}  

输出

* * * * * * * * * 
  * * * * * * * 
    * * * * * 
      * * * 
        *

时间复杂度: O(n^2)

这里n是行数。

空间复杂度: O(1)

因为使用了常量额外空间。

* * * * * * * * * 
  * * * * * * * 
    * * * * * 
      * * * 
        * 

时间复杂度 :给定输入n,O(n 2 )。

空间复杂度 :O(1)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例