3165 - Matr Div Imp 1
De la Universitas MediaWiki
Cerința
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
Programul citește de la tastatură numerele m
și n
, iar apoi cele m * n
elemente ale matricei.
Date de ieșire
Programul va afișa pe ecran numărul S
, reprezentând suma numerelor pare din matrice.
Restricții și precizări
1 ≤ m, n ≤ 100
- numerele din matrice vor fi mai mici decât
1.000.000
Exemplul 1
Intrare
3 5 1 2 3 4 5 2 4 6 1 7 1 3 4 5 9
Ieșire
22
Exemplul 2
Intrare
5 1001
Ieșire
Eroare: m și n trebuie să fie între 1 și 100.
Rezolvare
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()