Dado un número N, la tarea es imprimir el siguiente patrón:- Ejemplos:
Input : 10 Output : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Input :5 Output : * * * * * * * * * * * * * * *
Se requiere un bucle anidado para imprimir el patrón anterior. El ciclo externo se usa para ejecutar el número de filas dado como entrada. El primer bucle dentro del bucle exterior se usa para imprimir los espacios antes de cada estrella. Como puede ver, la cantidad de espacios disminuye con cada fila mientras nos movemos hacia la base del triángulo, por lo que este ciclo se ejecuta una vez menos con cada iteración. El segundo bucle dentro del bucle exterior se usa para imprimir las estrellas. Como puede ver, el número de estrellas aumenta en cada fila a medida que avanzamos hacia la base del triángulo, por lo que este ciclo se ejecuta una vez más con cada iteración. La claridad se puede lograr si este programa se ejecuta en seco.
Java
// Java Program to print the given pattern import java.util.*; // package to use Scanner class class pattern { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter the number of rows to be printed"); int rows = sc.nextInt(); // loop to iterate for the given number of rows for (int i = 1; i <= rows; i++) { // loop to print the number of spaces before the star for (int j = rows; j >= i; j--) { System.out.print(" "); } // loop to print the number of stars in each row for (int j = 1; j <= i; j++) { System.out.print("* "); } // for new line after printing each row System.out.println(); } } }
Método 2: Uso de la recursividad
Java
// Java code to demonstrate star pattern import java.util.*; class GFG { // function to print spaces static void printspace(int space) { // base case if (space == 0) return; System.out.print(" "); // recursively calling printspace() printspace(space - 1); } // function to print asterisks static void printstar(int asterisk) { // base case if (asterisk == 0) return; System.out.print("* "); // recursively calling printstar() printstar(asterisk - 1); } // function to print the pattern static void printrow(int n, int num) { // base case if (n == 0) return; printspace(n - 1); printstar(num - n + 1); System.out.println(""); // recursively calling printrow() printrow(n - 1, num); } // Driver code public static void main(String[] args) { Scanner sc = new Scanner(System.in); int rows = 5; printrow(rows, rows); } } // this code is contributed by Shivesh Kumar Dwivedi
* * * * * * * * * * * * * * *