0277 - Vârfuri: Difference between revisions
Dragos1234 (talk | contribs) Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/277/varfuri] == Cerinţa == Se dă numărul natural nenul '''n'''. Să se determine produsul primelor '''n''' pătrate perfecte nenule. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == 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 prog... |
Dragos1234 (talk | contribs) |
||
Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/277/varfuri] | Sursa: [https://www.pbinfo.ro/probleme/277/varfuri] | ||
== Cerinţa == | == 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 == | == Date de intrare == | ||
Programul citește de la tastatură numărul '''n'''. | Programul citește de la tastatură numărul '''n'''. |
Revision as of 09:43, 26 March 2023
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.
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
- 0 < n ⩽ 10
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>