1212 - Sumă Pătrare: Difference between revisions

From Bitnami MediaWiki
Dragos1234 (talk | contribs)
Dragos1234 (talk | contribs)
Line 7: Line 7:


== Date de ieșire ==  
== Date de ieșire ==  
Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa valoarea cerută. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse
Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa valoarea cerută. În caz contrar, se va afișa mesajul: "Datele de intrare nu corespund restrictiilor impuse".


== Restricţii şi precizări ==
== Restricţii şi precizări ==

Revision as of 15:23, 26 March 2023

Sursa: [1]

Cerinţa

Fiind dat N, un număr natural nenul, calculați suma S=1^2 + 2^2 + 3^2 + ... + n^2, modulo 10.234.573.

Date de intrare

Programul citește de la tastatură numărul N.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa valoarea cerută. În caz contrar, se va afișa mesajul: "Datele de intrare nu corespund restrictiilor impuse".

Restricţii şi precizări

  • 1 ⩽ N ⩽ 2.000.000.000

Exemplul 1

Intrare
Introduceti numarul n: 4
Ieșire
Rezultatul este: 30


Exemplul 2

Intrare
0
Ieșire
n trebuie sa fie intre 1 si 2.000.000.000.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 1212

def suma_patrate_modulo(n):

   numarator = (n * (n + 1) % 10234573) * ((2 * n + 1) % 10234573)
   numitor = 6 % 10234573
   invers_modular_numitor = pow(numitor, 10234571, 10234573)
   rezultat = (numarator * invers_modular_numitor) % 10234573
   return rezultat


def validare_n(n):

   if n < 1 or n > 2000000000:
       print("n trebuie sa fie intre 1 si 2.000.000.000.")
       exit()


if __name__ == '__main__':

   n = int(input("Introduceti numarul n: "))
   validare_n(n)
   rezultat = suma_patrate_modulo(n)
   print(f"Rezultatul este: {rezultat}")

</syntaxhighlight>