1894 - Floarea

From Bitnami MediaWiki

Enunt[edit | edit source]

O floare abia plantată se notează cu 0. În fiecare lună, aceasta crește cu un rând de petale, separate prin spațiu, notate cu cifra vârstei sale in acea lună.

Cerința[edit | edit source]

Se dă un număr natural n. Construiți și afișați o matrice ce reprezintă floarea dupa n luni.

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul n.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran matricea construită, reprezentând floarea dupa n luni.

Restricții și precizări[edit | edit source]

  • 1 ⩽ n ⩽ 9

Exemplu 1[edit | edit source]

Intrare
3
Ieșire
3 3 3 3 3 3 3
3 2 2 2 2 2 3
3 2 1 1 1 2 3
3 2 1 0 1 2 3
3 2 1 1 1 2 3
3 2 2 2 2 2 3
3 3 3 3 3 3 3

Explicație[edit | edit source]

În 3 luni floarea crește cu 3 rânduri de petale.


Exemplu 2[edit | edit source]

Intrare
0
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 1894 - Floarea

def generate_flower_matrix(n):

   size = n * 2 + 1
   flower_matrix = [[0] * size for _ in range(size)]
   for i in range(size):
       for j in range(size):
           distance_to_border = min(i, j, size - i - 1, size - j - 1)
           flower_matrix[i][j] = n - distance_to_border
   return flower_matrix

def print_matrix(matrix):

   for row in matrix:
       print(" ".join(map(str, row)))

if __name__ == "__main__":

   n = int(input("Introduceți n: "))
   if 1 <= n <= 9:
       result_matrix = generate_flower_matrix(n)
       print_matrix(result_matrix)
   else:
       print("Nu au fost respectate cerintele impuse.")

</syntaxhighlight>