El programa debe aceptar un número entero N como entrada. El programa debe imprimir el patrón deseado como se muestra en el ejemplo de entrada/salida. Ejemplos:
Entrada: 41325 Salida: |**** |* |*** |** |***** Explicación: para un entero dado, imprima el número de * que son equivalentes a cada dígito del entero. Aquí el primer dígito es 4, así que imprime cuatro *en la primera línea. El segundo dígito es 1, así que imprima uno *. Así sucesivamente y el último, es decir, el quinto dígito es 5, por lo tanto, imprima cinco * en la quinta línea. Entrada: 60710 Salida: |****** | |******* |* |
Enfoque Lea la entrada Para cada dígito en el entero, imprima el número correspondiente de *s Si el dígito es 0, imprima ningún *s y salte a la siguiente línea
Python3
# function to print the pattern def pattern(n): # traverse through the elements # in n assuming it as a string for i in n: # print | for every line print("|", end = "") # print i number of * s in # each line print("*" * int(i)) # get the input as string n = "41325" pattern(n)
|**** |* |*** |** |*****
Complejidad temporal: O(n)
Espacio auxiliar: O(1)
Solución alternativa que toma enteros como entrada:
Python3
n = 41325 x = [] while n>0: x.append(n%10) n //= 10 for i in range(len(x)-1,-1,-1): print('|'+x[i]*'*') # code contributed by Baivab Dash
|**** |* |*** |** |*****
Complejidad temporal: O(n)
Espacio auxiliar: O(n)