0974 - Resturi: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/974/resturi] == 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/974/resturi]
Sursa: [https://www.pbinfo.ro/probleme/974/resturi]
== Cerinţa ==
== Cerinţa ==
Se dă numărul natural nenul '''n'''. Să se determine produsul primelor '''n''' pătrate perfecte nenule.
Se dau '''n și k''' numere naturale. Calculați suma resturilor împărțirii tuturor numerelor naturale de la '''1 la n''' prin numărul '''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:51, 25 March 2023

Sursa: [1]

Cerinţa

Se dau n și k numere naturale. Calculați suma resturilor împărțirii tuturor numerelor naturale de la 1 la n prin numărul 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>

  1. 0974

def validare_numere(n, k):

   if n < 1 or n > 2000000000:
       raise ValueError("n trebuie să fie între 1 și 2.000.000.000")
   if k < 1 or k > 2000000000:
       raise ValueError("k trebuie să fie între 1 și 2.000.000.000")


def calc_suma_resturi(n, k):

   S = 0
   for i in range(1, n+1):
       S += i % k
   return S


if __name__ == '__main__':

   try:
       n, k = map(int, input("Introduceti numerele: ").split())
       validare_numere(n, k)
       S = calc_suma_resturi(n, k)
       print(S)
   except ValueError as e:
       print(e)


</syntaxhighlight>