Dado un número N que denota el número de filas. La tarea es imprimir el patrón en zigzag con N filas como se muestra en los siguientes ejemplos.
Ejemplos :
Input : N = 3 Output : 1 3*2 4*5*6 Input : N = 5 Output : 1 3*2 4*5*6 10*9*8*7 11*12*13*14*15
Enfoque :
- Utilice un bucle for para imprimir el número de filas.
- Use dos variables var y var1 para filas pares e impares respectivamente.
- Cuando el número de fila es impar, calcule el punto de inicio de la fila y luego imprima e incremente la variable simultáneamente.
- Cuando el número de fila es par, calcule el punto de inicio correspondiente e imprima y disminuya la variable simultáneamente.
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP program to print the given // zigzag pattern #include<iostream> using namespace std; // Function to print the zigzag pattern void printPattern(int n) { int var1, var = 1; for(int i = 1; i <= n; i++) { // for odd rows if(i%2!=0) { // calculate starting value var = var + i - 1; for(int j=1; j<=i; j++) { if(j==1) { cout<<var; } else cout<<"*"<<var; var++; } } else // for even rows { var1 = var + i -1; // calculate starting value for(int j=1; j<=i; j++) { if(j==1) { // print without star cout<<var1; } else { // print with star cout<<"*"<<var1; } var1--; } } cout<<endl; } } // Driver code int main() { int n = 5; printPattern(n); return 0; }
Java
// Java program to print the given // zigzag pattern class GFG { // Function to print the // zigzag pattern static void printPattern(int n) { int var1, var = 1; for(int i = 1; i <= n; i++) { // for odd rows if(i % 2 != 0) { // calculate starting value var = var + i - 1; for(int j = 1; j <= i; j++) { if(j == 1) { System.out.print(var); } else System.out.print("*" + var); var++; } } else // for even rows { var1 = var + i -1; // calculate starting value for(int j = 1; j <= i; j++) { if(j == 1) { // print without star System.out.print(var1); } else { // print with star System.out.print("*" + var1); } var1--; } } System.out.print("\n"); } } // Driver code public static void main(String [] arg) { int n = 5; printPattern(n); } } // This code is contributed by Smitha
Python3
# Python3 program to print the given # zigzag pattern # Function to print the zigzag pattern def printPattern(n): var = 0 var = 1 for i in range(1, n + 1): # for odd rows if(i % 2 != 0): # calculate starting value var = var + i - 1 for j in range(1, i + 1): if(j == 1): print(var, end = "") else: print("*", end = "") print(var, end = "") var += 1 else: # for even rows var1 = var + i -1 # calculate starting value for j in range(1, i + 1): if(j == 1): # prwithout star print(var1, end = "") else: # prwith star print("*", end = "") print(var1, end = "") var1 -= 1 print() # Driver code n = 5 printPattern(n) # This code is contributed by Mohit kumar
C#
// C# program to print the given // zigzag pattern using System; class GFG { // Function to print the // zigzag pattern static void printPattern(int n) { int var1, var = 1; for(int i = 1; i <= n; i++) { // for odd rows if(i % 2 != 0) { // calculate starting value var = var + i - 1; for(int j = 1; j <= i; j++) { if(j == 1) { Console.Write(var); } else Console.Write("*" + var); var++; } } else // for even rows { var1 = var + i -1; // calculate starting value for(int j = 1; j <= i; j++) { if(j == 1) { // print without star Console.Write(var1); } else { // print with star Console.Write("*" + var1); } var1--; } } Console.Write("\n"); } } // Driver code public static void Main() { int n = 5; printPattern(n); } } // This code is contributed // by Akanksha Rai(Abby_akku)
PHP
<?php // PHP program to print the given // zigzag pattern // Function to print the zigzag pattern function printPattern($n) { $var1; $var = 1; for($i = 1; $i <= $n; $i++) { // for odd rows if($i % 2 != 0) { // calculate starting value $var = $var + $i - 1; for($j = 1; $j <= $i; $j++) { if($j == 1) { echo $var; } else echo "*" . $var; $var++; } } else // for even rows { // calculate starting value $var1 = $var + $i - 1; for($j = 1; $j <= $i; $j++) { if($j == 1) { // print without star echo $var1; } else { // print with star echo "*" . $var1; } $var1--; } } echo "\n"; } } // Driver code $n = 5; printPattern($n); // This code is contributed by Rajput-Ji ?>
Javascript
<script> // JavaScript program to print the given // zigzag pattern // Function to print the zigzag pattern function printPattern(n) { var var1, var2 = 1; for (var i = 1; i <= n; i++) { // for odd rows if (i % 2 != 0) { // calculate starting value var2 = var2 + i - 1; for (var j = 1; j <= i; j++) { if (j == 1) { document.write(var2); } else document.write("*" + var2); var2++; } } // for even rows else { var1 = var2 + i - 1; // calculate starting value for (var j = 1; j <= i; j++) { if (j == 1) { // print without star document.write(var1); } else { // print with star document.write("*" + var1); } var1--; } } document.write("<br>"); } } // Driver code var n = 5; printPattern(n); // This code is contributed by rdtank. </script>
Producción:
1 3*2 4*5*6 10*9*8*7 11*12*13*14*15
Complejidad de tiempo: O(N^2)
Espacio auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por Kasthuri Palanichamy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA