0277 - Vârfuri
Sursa: [1]
Cerinţa
Într-un şir de numere naturale se numeşte vârf un element care are doi vecini şi este strict mai mare decât aceştia.
Se dă un şir cu n elemente, numere naturale. Calculaţi suma elementelor din şir care sunt vârfuri.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n numere naturale, separate prin spaţii.
Date de ieșire
Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul P , reprezentând produsul primelor n pătrate perfecte nenule, în caz contrar programul va afișa pe o linie noua mesajul "Datele introduse nu corespund cerintelor."
Restricţii şi precizări
- 1 ⩽ n ⩽ 1000
- cele n numere citite vor avea cel mult 4 cifre.
Exemplul 1
- Intrare
- 4
- Ieșire
- Datele corespund cerințelor.
- 576
Exemplul 2
- Intrare
- 16
- Ieșire
- Datele introduse nu corespund cerințelor.
Exemplul 3
- Intrare
- 7
- Ieșire
- Datele corespund cerințelor.
- 25401600
Rezolvare
<syntaxhighlight lang="python" line>
- 0277
def validate_input(n, a):
if not 1 <= n <= 1000: print("Numarul de elemente trebuie sa fie intre 1 si 1000.") return False for x in a: if not 0 <= x <= 9999: print("Toate elementele trebuie sa aiba cel mult 4 cifre.") return False return True
def calculate_sum_of_peaks(n, a):
suma = 0 for i in range(1, n-1): if a[i] > a[i-1] and a[i] > a[i+1]: suma += a[i] return suma
if __name__ == '__main__':
n = int(input("Introduceti numarul de elemente: ")) a = list(map(int, input("Introduceti elementele separate prin spatiu: ").split()))
if validate_input(n, a): suma = calculate_sum_of_peaks(n, a) print("Suma elementelor care sunt varfuri este:", suma)
</syntaxhighlight>