📜  以给定的高度和最少的星星数打印金字塔图案

📅  最后修改于: 2021-05-31 21:10:59             🧑  作者: Mango

给定最少的星星数和金字塔的高度,请打印图案。
例子:

Input: min_stars = 1
        p_height = 5
Output:

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

Input: min_stars = 3
        p_height = 7
Output:

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

该方法是将循环运行到金字塔的高度。

  1. 运行循环以打印所需的空间。
  2. 打印左金字塔。
  3. 运行循环以打印中间所需的空间。
  4. 打印正确的金字塔。

下面是打印上述图案的程序:

C++
// C++ implementation to print the pattern
#include 
using namespace std;
 
// Function definition
void pattern(int min_stars, int p_height)
{
    int p_space;
    p_space = p_height - 1;
    int i, j, k, n, x;
    x = 1;
 
    // for loop for height of pyramid
    for (i = 0; i < p_height; i++) {
 
        // for loop for spaces
        for (j = p_space; j > i; j--) {
            cout << " ";
        }
 
        // for loop for printing
        // left pyramid
        for (k = 0; k < min_stars; k++)
            cout << "*";
 
        // for loop for spaces in middle
        for (n = (p_height + p_height - 2);
             n >= x; n--)
            cout << " ";
 
        // for loop for printing
        // right pyramid
        for (k = 0; k < min_stars; k++)
            cout << "*";
 
        min_stars = min_stars + 2;
        x = x + 2;
        cout << endl;
    }
}
 
// Driver code
int main()
{
    /* change value to set minimum,
    number of stars in pyramid */
    int min_stars = 1;
 
    /* change value to increase or
    decrease size of pyramid */
    int p_height = 5;
 
    // function calling
    pattern(min_stars, p_height);
    return 0;
}


Java
// Java implementation
// to print the pattern
import java.io.*;
 
class GFG
{
     
// Function definition
static void pattern(int min_stars,
                    int p_height)
{
    int p_space;
    p_space = p_height - 1;
    int i, j, k, n, x;
    x = 1;
 
    // for loop for
    // height of pyramid
    for (i = 0; i < p_height; i++)
    {
 
        // for loop for spaces
        for (j = p_space; j > i; j--)
        {
            System.out.print(" ");
        }
 
        // for loop for printing
        // left pyramid
        for (k = 0; k < min_stars; k++)
            System.out.print("*");
 
        // for loop for
        // spaces in middle
        for (n = (p_height + p_height - 2);
             n >= x; n--)
                System.out.print(" ");
 
        // for loop for printing
        // right pyramid
        for (k = 0; k < min_stars; k++)
                System.out.print("*");
 
        min_stars = min_stars + 2;
        x = x + 2;
            System.out.println();
    }
}
 
// Driver code
public static void main (String[] args)
{
 
/* change value to set minimum
number of stars in pyramid */
int min_stars = 1;
 
/* change value to increase or
decrease size of pyramid */
int p_height = 5;
 
// function calling
pattern(min_stars, p_height);
}
}
 
// This code is contributed
// by ajit


Python3
# Python3 implementation to print the pattern
 
# Function definition
def pattern(min_stars, p_height):
 
    p_space = p_height - 1
    x = 1
 
    # for loop for height of pyramid
    for i in range(0 ,p_height) :
 
        # for loop for spaces
        for j in range(p_space,i ,-1) :
            print(" " ,end="")
         
 
        # for loop for printing
        # left pyramid
        for k in range(0 ,min_stars) :
            print("*" ,end="")
 
        # for loop for spaces in middle
        for n in range ((p_height + p_height - 2), x-1,-1) :
            print(" " ,end="")
 
        # for loop for printing
        # right pyramid
        for k in range(0 ,min_stars) :
            print("*" ,end="")
 
        min_stars = min_stars + 2
        x = x + 2
        print("")
 
# Driver code
# change value to set minimum
# number of stars in pyramid
if __name__=='__main__':
    min_stars = 1
 
# change value to increase or
# decrease size of pyramid
    p_height = 5
 
# function calling
    pattern(min_stars, p_height)
 
# this code is contributed by Smitha Dinesh Semwal


C#
// C# implementation
// to print the pattern
using System;
 
class GFG
{
     
// Function definition
static void pattern(int min_stars,
                    int p_height)
{
    int p_space;
    p_space = p_height - 1;
    int i, j, k, n, x;
    x = 1;
 
    // for loop for
    // height of pyramid
    for (i = 0; i < p_height; i++)
    {
 
        // for loop for spaces
        for (j = p_space; j > i; j--)
        {
            Console.Write(" ");
        }
 
        // for loop for printing
        // left pyramid
        for (k = 0; k < min_stars; k++)
            Console.Write("*");
 
        // for loop for
        // spaces in middle
        for (n = (p_height +
                  p_height - 2);
             n >= x; n--)
                Console.Write(" ");
 
        // for loop for printing
        // right pyramid
        for (k = 0; k < min_stars; k++)
                Console.Write("*");
 
        min_stars = min_stars + 2;
        x = x + 2;
            Console.WriteLine();
    }
}
 
// Driver code
static public void Main ()
{
         
    /* change value to set
    minimum number of stars
    in pyramid */
    int min_stars = 1;
 
    /* change value to increase
    or decrease size of pyramid */
    int p_height = 5;
 
    // function calling
    pattern(min_stars, p_height);
}
}
 
// This code is contributed
// by ajit


PHP
 $i; $j--)
        {
            echo " ";
        }
 
        // for loop for printing
        // left pyramid
        for ($k = 0;
             $k < $min_stars; $k++)
            echo "*";
 
        // for loop for
        // spaces in middle
        for ($n = ($p_height +
                   $p_height - 2);
            $n >= $x; $n--)
            echo " ";
 
        // for loop for printing
        // right pyramid
        for ($k = 0;
             $k < $min_stars; $k++)
            echo "*";
 
        $min_stars = $min_stars + 2;
        $x = $x + 2;
        echo "\n";
    }
}
 
// Driver code
 
/* change value to set minimum
number of stars in pyramid */
$min_stars = 1;
 
/* change value to increase or
decrease size of pyramid */
$p_height = 5;
 
// function calling
pattern($min_stars, $p_height);
 
// This code is contributed by ajit
?>


Javascript


输出:
*        *
   ***      ***
  *****    *****
 *******  *******
******************
想要从精选的最佳视频中学习并解决问题,请查看有关从基础到高级C++的C++基础课程以及有关语言和STL的C++ STL课程。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”