3165 - Matr Div Imp 1
Cerința[edit | edit source]
Se consideră o matrice cu m
linii și n
coloane, numere naturale. Folosind metoda Divide et Impera, determinați suma numerelor pare din matrice.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele m
și n
, iar apoi cele m * n
elemente ale matricei.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numărul S
, reprezentând suma numerelor pare din matrice.
Restricții și precizări[edit | edit source]
1 ≤ m, n ≤ 100
- numerele din matrice vor fi mai mici decât
1.000.000
Exemplul 1[edit | edit source]
Intrare
3 5 1 2 3 4 5 2 4 6 1 7 1 3 4 5 9
Ieșire
22
Exemplul 2[edit | edit source]
Intrare
5 1001
Ieșire
Eroare: m și n trebuie să fie între 1 și 100.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python3" line="1"> def validate_input(m, n):
if not (1 <= m <= 100 and 1 <= n <= 100): print("Eroare: m și n trebuie să fie între 1 și 100.") exit() if m <= 0: print("Eroare: Numărul de linii (m) trebuie să fie mai mare de 0.") exit()
def sum_of_even_numbers(matrix, m, n):
total_sum = 0 for i in range(m): for j in range(n): if matrix[i][j] % 2 == 0: total_sum += matrix[i][j] return total_sum
def main():
m = int(input("Introduceți numărul de linii (m): ")) n = int(input("Introduceți numărul de coloane (n): "))
validate_input(m, n)
matrix = [] for i in range(m): row = [] for j in range(n): element = int(input(f"Introduceți elementul de pe poziția ({i + 1}, {j + 1}): ")) row.append(element) matrix.append(row)
result = sum_of_even_numbers(matrix, m, n) print(f"Suma numerelor pare din matrice: {result}")
if __name__ == "__main__":
main()
</syntaxhighlight>