1894 - Floarea
Enunt
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
Se dă un număr natural n. Construiți și afișați o matrice ce reprezintă floarea dupa n luni.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran matricea construită, reprezentând floarea dupa n luni.
Restricții și precizări
- 1 ⩽ n ⩽ 9
Exemplu 1
- 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
- În 3 luni floarea crește cu 3 rânduri de petale.
Exemplu 2
- Intrare
- 0
- Ieșire
- Nu au fost respectate cerintele impuse
Rezolvare
<syntaxhighlight lang="python" line>
- 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>