1894 - Floarea
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>
- 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>