Dé un número entero N y la tarea es imprimir un patrón de medio diamante hueco.
Ejemplos:
Input : 6 Output : # # # # # # # # # # # # # # # # # # # # Input : 7 Output : # # # # # # # # # # # # # # # # # # # # # # # #
Enfoque:
La idea es dividir el patrón en dos partes:
- Parte superior: Para la mitad superior, inicie el ciclo for con el iterador (i) de 1 a n y otro ciclo for con el iterador (j) de 1 a i.
# # # # # # # # # # # # #
- Parte inferior: para la mitad inferior, comience el ciclo for con el iterador (n-1) a 1 y el ciclo dentro de este for seguirá siendo el mismo que para la mitad superior.
# # # # # # # # # # #
- Ahora tenemos que verificar esta condición de que si (i==j) o (j==1) entonces tenemos que imprimir «#», de lo contrario tenemos que imprimir «» (espacio).
A continuación se muestra la implementación:
# python program to print # hollow half diamond star # function to print hollow # half diamond star def hollow_half_diamond(N): # this for loop is for # printing upper half for i in range( 1, N + 1): for j in range(1, i + 1): # this is the condition to # print "#" only on the # boundaries if i == j or j == 1: print("#", end =" ") # print " "(space) on the rest # of the area else: print(" ", end =" ") print() # this for loop is to print lower half for i in range(N - 1, 0, -1): for j in range(1, i + 1): if j == 1 or i == j: print("#", end =" ") else: print(" ", end =" ") print() # Driver Code if __name__ == "__main__": N = 7 hollow_half_diamond( N )
Producción:
# # # # # # # # # # # # # # # # # # # # # # # #
Complejidad del tiempo: O(N^2)
Publicación traducida automáticamente
Artículo escrito por kashishmishra9911 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA