Dado un número N que representa el número de filas. La tarea es imprimir un patrón de número-estrella de medio diamante como se muestra en los ejemplos a continuación.
Nota : N es siempre un número par.
Ejemplos :
Input: N = 4 Output: 2*2 1 1 2*2 Input: N = 6 Output: 3*3*3 2*2 1 1 2*2 3*3*3
Al observar cuidadosamente el patrón anterior, se puede dividir en dos triángulos diferentes:
- Un triángulo rectángulo invertido.
- Un triángulo rectángulo normal.
Para el primer patrón de triángulo:
- Ejecute dos bucles, primero se ocupará del número de filas y el otro se ocupará del ‘*’ y los números que se imprimen.
- Dentro de los bucles, compruebe si las iteraciones del bucle interior han alcanzado el número de filas dado o no.
- En caso afirmativo, escriba solo el número; de lo contrario, escriba ‘*’ y numere ambos.
Se seguirá el mismo enfoque para el segundo patrón de triángulo con un ligero cambio de que aquí se verificará la condición donde la iteración interna es igual a 0 o no.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to print half diamond // number star pattern #include <iostream> using namespace std; // Function to print the given pattern void printPattern(int r) { r = r / 2; int count = r; // loop to print upper half pattern for (int i = 0; i < r; i++) { for (int j = r; j > i; j--) { if (j != r) { cout << "*" << count; } else { cout << count; } } count--; cout << endl; } count++; // loop to print lower half pattern for (int i = 0; i < r; i++) { for (int j = 0; j <= i; j++) { if (j != 0) { cout << "*" << count; } else { cout << count; } } count++; cout << endl; } } // Driver code int main() { int n; n = 6; printPattern(n); return 0; }
Java
// Java program to print half // diamond number star pattern class GFG { // Function to print // the given pattern static void printPattern(int r) { r = r / 2; int count = r; // loop to print // upper half pattern for (int i = 0; i < r; i++) { for (int j = r; j > i; j--) { if (j != r) { System.out.print("*" + count); } else { System.out.print(count); } } count--; System.out.print("\n"); } count++; // loop to print lower // half pattern for (int i = 0; i < r; i++) { for (int j = 0; j <= i; j++) { if (j != 0) { System.out.print("*" + count); } else { System.out.print(count); } } count++; System.out.print("\n"); } } // Driver code public static void main(String [] args) { int n; n = 6; printPattern(n); } } // This code is contributed // by Smitha
Python 3
# Python 3 program to # print half diamond # number star pattern # Function to print the # given pattern def printPattern(r) : r = r // 2 count = r # loop to print upper # half pattern for i in range(r) : for j in range(r, i, -1) : if j != r : print("*" + str(count), end = "") else : print(count, end = "") count -= 1 print() count += 1 # loop to print lower # half pattern for i in range(r) : for j in range(i + 1): if j != 0 : print("*" + str(count), end = "") else : print(count, end = "") count += 1 print() # Driver Code if __name__ == "__main__" : n = 6 printPattern(n) # This code is contributed # by ANKITRAI1
C#
// C++ program to print half diamond // number star pattern using System; public class GFG { // Function to print the given pattern static void printPattern(int r) { r = r / 2; int count = r; // loop to print upper half pattern for (int i = 0; i < r; i++) { for (int j = r; j > i; j--) { if (j != r) { Console.Write("*" + count); } else { Console.Write( count); } } count--; Console.WriteLine(); } count++; // loop to print lower half pattern for (int i = 0; i < r; i++) { for (int j = 0; j <= i; j++) { if (j != 0) { Console.Write("*" + count); } else { Console.Write( count); } } count++; Console.WriteLine(); } } // Driver code public static void Main() { int n; n = 6; printPattern(n); } }
PHP
<?php // PHP program to print half // diamond number star pattern // Function to print the // given pattern function printPattern($r) { $r = $r / 2; $count = $r; // loop to print upper half pattern for ($i = 0; $i < $r; $i++) { for ($j = $r; $j > $i; $j--) { if ($j != $r) { echo "*" . $count; } else { echo $count; } } $count--; echo "\n"; } $count++; // loop to print lower half pattern for ($i = 0; $i < $r; $i++) { for ($j = 0; $j <= $i; $j++) { if ($j != 0) { echo "*" . $count; } else { echo $count; } } $count++; echo "\n"; } } // Driver code $n = 6; printPattern($n); // This code is contributed // by Arnab Kundu ?>
Javascript
<script> // JavaScript program to print half diamond // number star pattern // Function to print the given pattern function printPattern(r) { r = r / 2; var count = parseInt(r); // loop to print upper half pattern for (var i = 0; i < r; i++) { for (var j = r; j > i; j--) { if (j != r) { document.write("*" + count); } else { document.write(count); } } count--; document.write("<br>"); } count++; // loop to print lower half pattern for (var i = 0; i < r; i++) { for (var j = 0; j <= i; j++) { if (j != 0) { document.write("*" + count); } else { document.write(count); } } count++; document.write("<br>"); } } // Driver code var n; n = 6; printPattern(n); </script>
3*3*3 2*2 1 1 2*2 3*3*3
Complejidad de tiempo: O(r 2 ), donde r representa la entrada dada.
Espacio auxiliar: O(1), no se requiere espacio adicional, por lo que es una constante.
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA