4279 - Sum Cnt2: Difference between revisions
Dragos1234 (talk | contribs) No edit summary |
Dragos1234 (talk | contribs) |
||
Line 1: | Line 1: | ||
Sursa: [https://www.pbinfo.ro/probleme/4279/sumcnt2] | Sursa: [https://www.pbinfo.ro/probleme/4279/sumcnt2] | ||
== Cerinţa == | == Cerinţa == | ||
Se | Se citesc de la tastatură numerele '''n k''', apoi n numere naturale. Să se determine suma celor impare și câte dintre ele se divid cu '''k'''. | ||
== 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 14:16, 25 March 2023
Sursa: [1]
Cerinţa
Se citesc de la tastatură numerele n k, apoi n numere naturale. Să se determine suma celor impare și câte dintre ele se divid cu k.
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>
- 4279
def citeste_n():
return int(input("Introduceti numarul de numere: "))
def citeste_k():
return int(input("Introduceti valoarea k: "))
def este_impar(numar):
return numar % 2 == 1
def se_divide_cu_k(numar, k):
return numar % k == 0
def calculeaza_suma_impare_si_numarul_divizibile_cu_k(n, k):
suma_impare = 0 contor_k = 0
for i in range(n): numar = int(input("Introduceti un numar: ")) if este_impar(numar): suma_impare += numar if se_divide_cu_k(numar, k): contor_k += 1
return suma_impare, contor_k
def valideaza(n, k):
if n > 50: print("n trebuie sa fie mai mic sau egal cu 50.") return False if k <= 0: print("k trebuie sa fie mai mare decat 0.") return False return True
if __name__ == '__main__':
n = citeste_n() k = citeste_k()
if valideaza(n, k): suma_impare, contor_k = calculeaza_suma_impare_si_numarul_divizibile_cu_k(n, k) print(suma_impare, contor_k)
</syntaxhighlight>