0047 - Sumă Pătrate

From Bitnami MediaWiki
Revision as of 18:03, 19 March 2023 by Dragos1234 (talk | contribs) (Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/47/sumapatrate] == Cerinţa == Să se scrie un program care citește numărul natural '''n''' și determină suma primelor '''n''' pătrate perfecte nenule. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de ieșire == Programul afișează pe prima linie a ecranului mesajul Rezultatul este '''S''', unde '''S''' reprezintă suma calculată. == Restricţii şi precizări == * 0 < '''n''' < 1000 =...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sursa: [1]

Cerinţa

Să se scrie un program care citește numărul natural n și determină suma primelor n pătrate perfecte nenule.

Date de intrare

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

Date de ieșire

Programul afișează pe prima linie a ecranului mesajul Rezultatul este S, unde S reprezintă suma calculată.

Restricţii şi precizări

  • 0 < n < 1000

Exemplul 1

Intrare
0
Ieșire
Datele introduse nu corespund cerințelor.


Exemplul 2

Intrare
6
Ieșire
Rezultatul este 91


Exemplul 3

Intrare
7
Ieșire
Rezultatul este 140


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0047

import math


def validate_input(n):

   if n <= 0 or n >= 1000:
       return False
   else:
       return True


def compute_sum(n):

   sum = 0
   count = 0
   num = 1
   while count < n:
       if math.sqrt(num) % 1 == 0:  # Verifică dacă numărul este pătrat perfect
           sum += num
           count += 1
       num += 1
   return sum


if __name__ == '__main__':

   n = int(input("Introduceti n: "))
   while not validate_input(n):
       print("Datele introduse nu corespund cerintelor.")
       n = int(input("Introduceti n: "))
   sum = compute_sum(n)
   print("Rezultatul este", sum)

</syntaxhighlight>