0277 - Vârfuri: Diferență între versiuni
De la Universitas MediaWiki
Etichetă: Anulare manuală |
|||
Linia 12: | Linia 12: | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
* 1 ⩽ '''n''' & | * 1 ⩽ '''n''' ⩽ 1000 | ||
== Exemplul 1 == | == Exemplul 1 == |
Versiunea de la data 26 martie 2023 09:44
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
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
#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)