2015 - Suma Gauss 1
Cerința[edit | edit source]
Cei n copii din clasa a V-a şi-au ales câte un număr natural dintre numerele de la 1 la n, neavând doi copii acelaşi număr. Fiecare copil a calculat suma numerelor naturale mai mici sau egale cu numărul ales, apoi doamna de mate a calculat suma pătratelor rezultatelor obţinute de copii. Voi trebuie să aflaţi rezultatul obţinut de doamna de mate.
Date de intrare[edit | edit source]
Fișierul de intrare sumagauss1in.txt conține pe prima linie numărul n de copii din clasă.
Date de ieșire[edit | edit source]
Fișierul de ieșire sumagauss1out.txt va conține pe prima linie rezultatul obţinut de doamna de mate.
Restricții și precizări[edit | edit source]
- 1 ⩽ n ⩽ 500.000.000
Exemplul 1[edit | edit source]
- Intrare
- sumagauss1in.txt
- 3
- Ieșire
- Datele de intrare corespund restricțiilor impuse
- sumagauss1out.txt
- 46
Explicație[edit | edit source]
Numerele calculate de copii sunt 1, 3, 6. Numărul calculat de doamna de mate este 46.
Exemplul 2[edit | edit source]
- Intrare
- sumagauss1in.txt
- 500000001
- Ieșire
- Datele de intrare NU corespund restricțiilor impuse
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 2015 - SumaGauss1
def validare_date(n):
if not (1 <= n <= 500000000): return False return True
def rezultat_doamna_de_mate(n):
suma = 0 suma_patrate = 0
for i in range(1, n + 1): suma += i suma_patrate += suma ** 2
return suma_patrate
with open("sumagauss1in.txt", "r") as file:
n = int(file.readline().strip())
if validare_date(n):
print("Datele de intrare corespund restricțiilor impuse")
else:
print("Datele de intrare NU corespund restricțiilor impuse") exit(0)
with open("sumagauss1out.txt", "w") as file:
rezultat = rezultat_doamna_de_mate(n) file.write(str(rezultat) + "\n")
</syntaxhighlight>