Dado un número n, la tarea es escribir un programa para dibujar el siguiente patrón usando ‘$’.
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
Enfoque:
El patrón anterior se imprime dividiéndolo en patrones más pequeños:
- el triangulo de arriba
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
- Esto se hace con la ayuda del bucle for para las filas 0 a n-1. Primero se imprime el espacio, luego se imprime el ‘$’.
- el cuerpo medio
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
- Esto nuevamente se divide en 3 patrones más pequeños:
- El cuerpo medio superior
- El cuerpo medio superior
$ $ $ $ $ $ $ $ $ $ $ $
- Esto se hace con la ayuda del bucle for para las filas 0 a n-2. Primero se imprime el ‘$’ de la izquierda, luego se imprime el espacio, luego se imprime el ‘$’ de la derecha.
- El cuerpo medio medio
$ $ $ $ $ $ $
- Esto se hace con la ayuda de for loop for row = n-1. Aquí solo se imprime el ‘$’ para i 0 a (2n -1).
- El cuerpo medio inferior
$ $ $ $ $ $ $ $ $ $ $ $
- Esto se hace con la ayuda del bucle for para las filas n a 2n-1. Primero se imprime el ‘$’ de la izquierda, luego se imprime el espacio, luego se imprime el ‘$’ de la derecha.
- El triangulo inferior
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
- Esto se hace con la ayuda del bucle for para las filas 0 a n-1. Esto se hace de manera similar al patrón del triángulo superior.
Por lo tanto, se dibujará el patrón completo.
El siguiente programa imprime el patrón como se muestra arriba:
C++
// C++ implementation of above approach #include <iostream> using namespace std; void printPattern(int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for (int r = 0; r < n; r++) { // for space for (int i = r; i < n - 1; i++) { cout << " " ; cout << " " ; } // for $ for (int i = 0; i < 2 * r + 1; i++) cout << "$ " ; // new line cout << endl ; } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for (int r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for (int i = 0; i <= r; i++) cout << "$ " ; // for space for (int i = 0; i <= 2 * (n - r - 1)-2; i++) { cout << " " ; cout << " " ; } // for $ for (int i = 0; i <= r; i++) cout << "$ " ; } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for (int i = 0; i < 2 * r + 1; i++) cout << "$ " ; } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for (int i = 2 * n - 1; i > r; i--) cout << "$ " ; // for space for (int i = n; i <= r; i++) { cout << " " ; cout << " " ; } // for space for (int i = n; i < r; i++) { cout << " " ; cout << " " ; } // for $ for (int i = 2 * n - 1; i > r; i--) cout << "$ " ; } // new line cout << endl ; } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for (int r = 0; r < n; r++) { // for space for (int i = 0; i < r; i++){ cout << " " ; cout << " " ; } // for $ for (int i = 0; i < 2 * (n - r) - 1; i++) cout << "$ " ; // new line cout << endl ; } } int main() { int n = 4; printPattern(n); return 0; // This code is contributed by ANKITRAI1 }
Java
// Java implementation of above approach public class GFG { public static void printPattern(int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for (int r = 0; r < n; r++) { // for space for (int i = r; i < n - 1; i++){ System.out.print(" "); System.out.print(" "); } // for $ for (int i = 0; i < 2 * r + 1; i++) System.out.print("$ "); // new line System.out.println(); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for (int r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for (int i = 0; i <= r; i++) System.out.print("$ "); // for space for (int i = 0; i <= 2 * (n - r - 1) - 2; i++){ System.out.print(" "); System.out.print(" "); } // for $ for (int i = 0; i <= r; i++) System.out.print("$ "); } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for (int i = 0; i < 2 * r + 1; i++) System.out.print("$ "); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for (int i = 2 * n - 1; i > r; i--) System.out.print("$ "); // for space for (int i = n; i <= r; i++){ System.out.print(" "); System.out.print(" "); } // for space for (int i = n; i < r; i++){ System.out.print(" "); System.out.print(" "); } // for $ for (int i = 2 * n - 1; i > r; i--) System.out.print("$ "); } // new line System.out.println(); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for (int r = 0; r < n; r++) { // for space for (int i = 0; i < r; i++){ System.out.print(" "); System.out.print(" "); } // for $ for (int i = 0; i < 2 * (n - r) - 1; i++) System.out.print("$ "); // new line System.out.println(); } } // Driver Code public static void main(String[] args) { int n = 4; printPattern(n); } }
Python3
# Python 3 implementation of above approach def printPattern(n): # for upper triangle # $ # $ $ $ # $ $ $ $ $ # $ $ $ $ $ $ $ for r in range(0,n,1): # for space for i in range(r,n - 1,1): print(" ",end = " ") # for $ for i in range(0,2 * r + 1,1): print("$",end = " ") # new line print("\n") # for middle body # $ $ # $ $ $ $ # $ $ $ $ $ $ # $ $ $ $ $ $ $ # $ $ $ $ $ $ # $ $ $ $ # $ $ for r in range(0,2 * n - 1,1): if (r < n - 1): # for body # $ $ # $ $ $ $ # $ $ $ $ $ $ # for $ for i in range(0,r+1,1): print("$",end = " ") # for space for i in range(0,2 * (n - r - 1)-2+1,1): print(" ",end = " ") # for $ for i in range(0,r+1,1): print("$", end = " ") elif (r == n - 1): # for body # $ $ $ $ $ $ $ # for $ for i in range(0,2 * r + 1,1): print("$",end = " ") else: # for body # $ $ $ $ $ $ # $ $ $ $ # $ $ # for $ i = 2 * n - 1 while(i > r): print("$",end = " ") i -= 1 # for space for i in range(n,r+1,1): print(" ",end = " ") # for space for i in range(n,r,1): print(" ",end = " ") # for $ i = 2 * n - 1 while(i > r): print("$",end = " ") i -=1 # new line print("\n") # for lower triangle # $ $ $ $ $ $ $ # $ $ $ $ $ # $ $ $ # $ for r in range(0,n,1): # for space for i in range(0,r,1): print(" ",end = " ") # for $ for i in range(0,2 * (n - r) - 1,1): print("$",end = " ") # new line print("\n") # driver code if __name__ == '__main__': n = 4 printPattern(n) # This code is contributed by # Surendra_Gangwar
C#
// C# implementation of above approach using System; class GFG { public static void printPattern(int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for (int r = 0; r < n; r++) { // for space for (int i = r; i < n - 1; i++) { Console.Write(" "); Console.Write(" "); } // for $ for (int i = 0; i < 2 * r + 1; i++) Console.Write("$ "); // new line Console.Write("\n"); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for (int r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for (int i = 0; i <= r; i++) Console.Write("$ "); // for space for (int i = 0; i <= 2 * (n - r - 1) - 2; i++) { Console.Write(" "); Console.Write(" "); } // for $ for (int i = 0; i <= r; i++) Console.Write("$ "); } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for (int i = 0; i < 2 * r + 1; i++) Console.Write("$ "); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for (int i = 2 * n - 1; i > r; i--) Console.Write("$ "); // for space for (int i = n; i <= r; i++) { Console.Write(" "); Console.Write(" "); } // for space for (int i = n; i < r; i++) { Console.Write(" "); Console.Write(" "); } // for $ for (int i = 2 * n - 1; i > r; i--) Console.Write("$ "); } // new line Console.Write("\n"); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for (int r = 0; r < n; r++) { // for space for (int i = 0; i < r; i++) { Console.Write(" "); Console.Write(" "); } // for $ for (int i = 0; i < 2 * (n - r) - 1; i++) Console.Write("$ "); // new line Console.Write("\n"); } } // Driver Code public static void Main() { int n = 4; printPattern(n); } } // This code is contributed by ChitraNayal
PHP
<?php // PHP implementation of above approach function printPattern($n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for ($r = 0; $r < $n; $r++) { // for space for ($i = $r; $i < $n - 1; $i++) { echo (" ") ; echo (" ") ; } // for $ for ($i = 0; $i < 2 * $r + 1; $i++) echo ("$ ") ; // new line echo ("\n") ; } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for ($r = 0; $r < 2 * $n - 1; $r++) { if ($r < $n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for ($i = 0; $i <= $r; $i++) echo("$ ") ; // for space for ($i = 0; $i <= 2 * ($n - $r - 1) - 2; $i++) { echo (" "); echo (" "); } // for $ for ($i = 0; $i <= $r; $i++) echo("$ "); } else if ($r == $n - 1) { // for body // $ $ $ $ $ $ $ // for $ for ($i = 0; $i < 2 * $r + 1; $i++) echo("$ ") ; } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for ($i = 2 * $n - 1; $i > $r; $i--) echo("$ ") ; // for space for ($i = $n; $i <= $r; $i++) { echo(" ") ; echo(" ") ; } // for space for ($i = $n; $i < $r; $i++) { echo (" ") ; echo (" ") ; } // for $ for ($i = 2 * $n - 1; $i > $r; $i--) echo("$ ") ; } // new line echo("\n") ; } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for ($r = 0; $r < $n; $r++) { // for space for ($i = 0; $i < $r; $i++) { echo(" ") ; echo(" ") ; } // for $ for ($i = 0; $i < 2 * ($n - $r) - 1; $i++) echo ("$ ") ; // new line echo ("\n") ; } } // Driver Code $n = 4; printPattern($n); // This code is contributed // by Shivi_Aggarwal ?>
Javascript
<script> // JavaScript implementation of above approach function printPattern(n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for (var r = 0; r < n; r++) { // for space for (var i = r; i < n - 1; i++) { document.write(" "); document.write(" "); } // for $ for (var i = 0; i < 2 * r + 1; i++) document.write("$ "); // new line document.write("<br>"); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for (var r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for (var i = 0; i <= r; i++) document.write("$ "); // for space for (var i = 0; i <= 2 * (n - r - 1) - 2; i++) { document.write(" "); document.write(" "); } // for $ for (var i = 0; i <= r; i++) document.write("$ "); } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for (var i = 0; i < 2 * r + 1; i++) document.write("$ "); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for (var i = 2 * n - 1; i > r; i--) document.write("$ "); // for space for (var i = n; i <= r; i++) { document.write(" "); document.write(" "); } // for space for (var i = n; i < r; i++) { document.write(" "); document.write(" "); } // for $ for (var i = 2 * n - 1; i > r; i--) document.write("$ "); } // new line document.write("<br>"); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for (var r = 0; r < n; r++) { // for space for (var i = 0; i < r; i++) { document.write(" "); document.write(" "); } // for $ for (var i = 0; i < 2 * (n - r) - 1; i++) document.write("$ "); // new line document.write("<br>"); } } var n = 4; printPattern(n); // This code is contributed by rdtank. </script>
Producción:
$ $$$ $$$$$ $$$$$$$ $ $ $$ $$ $$$ $$$ $$$$$$$ $$$ $$$ $$ $$ $ $ $$$$$$$ $$$$$ $$$ $
Complejidad de Tiempo : O(n 2 )
Espacio Auxiliar : O(1)
Publicación traducida automáticamente
Artículo escrito por VipinKashyap y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA