👤

Se citesc n numere întregi. Acestea se memorează într-un vector. Se calculează suma cifrelor pentru fiecare număr. Care număr are suma cifrelor maximă?​

Răspuns :

Desigur! Voi explica pas cu pas cum funcționează codul propus:

1. **Funcția `suma_cifrelor(numar)`**:
- Această funcție primește un număr întreg și calculează suma cifrelor acestuia.
- Inițializăm variabila `suma` la 0.
- Apoi, folosind un `while`, iterăm prin fiecare cifră a numărului (`numar % 10` este ultima cifră) și adăugăm cifra la suma totală.
- După fiecare iterare, eliminăm ultima cifră a numărului (`numar //= 10`) pentru a trece la următoarea cifră.
- Funcția returnează suma cifrelor.

2. **Funcția `numar_cu_suma_maxima(vector)`**:
- Această funcție primește un vector de numere întregi și găsește numărul din vector care are suma cifrelor maximă.
- Inițializăm variabilele `suma_maxima` și `numar_maxim` la 0 și `None`, respectiv.
- Parcurgem fiecare număr din vector.
- Pentru fiecare număr, calculăm suma cifrelor folosind funcția `suma_cifrelor`.
- Dacă suma este mai mare decât `suma_maxima`, actualizăm `suma_maxima` și `numar_maxim`.
- La final, returnăm `numar_maxim`.

3. **Citirea și afișarea rezultatului**:
- Mai întâi, citim numărul de numere și fiecare număr întreg de la utilizator, stocându-le într-un vector.
- Apelăm funcția `numar_cu_suma_maxima` pentru a găsi numărul cu suma cifrelor maximă din vector.
- Afișăm rezultatul, adică numărul găsit.

Acest cod este eficient și rezolvă problema găsirii numărului cu suma cifrelor maximă dintr-un vector de numere întregi.