H. Inverted Pyramid – Codeforces Problem Solution in C++

Disclaimer: Make sure you tried enough before checking the solution

Problem: https://codeforces.com/group/MWSDmqGsZm/contest/223339/problem/H

#include <iostream>
#include <algorithm>
#include <iomanip>
#include <string>
#include <cmath>
#include <cstring>
using namespace std;
// solution1
void pyramid1(int num, int spaces)
{
    if (num == 0)
    {
        return;
    }
    int stars = num + (num - 1);
    // spaces
    for (int i = 1; i <= spaces; i++)
    {
        cout << " ";
    }
    // stars
    for (int i = 1; i <= stars; i++)
    {
        cout << "*";
    }
    cout << endl;
    pyramid1(num - 1, spaces + 1);
}
// solution2
int spaces_;
void pyramid2(int num)
{
    if (num == 0)
    {
        return;
    } 
    // spaces
    for (int i = 1; i <= spaces_ - num; i++)
    {
        cout << " ";
    }
    // stars
    for (int i = 1; i <= num * 2 - 1; i++)
    {
        cout << "*";
    }
    cout << endl;
    pyramid2(num - 1);
}
int main()
{
    int num;
    cin >> num;
    int start = 0;
    // solution1
    pyramid1(num, start);
    // solution2
    // spaces_ = num;
    // pyramid2(num);
}

Assiut University Training – Newcomers Solution Recursion

Leave a Comment