1684 - Numere Piramidale: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
No edit summary
Line 23: Line 23:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
import math
def validare_date(n):
 
def validate_input(n):
     if not n.isdigit():
     if not n.isdigit():
         return False
         return False
Line 32: Line 30:
         return False
         return False
     return True
     return True


def compute_pyramid_numbers(n):
def compute_pyramid_numbers(n):
Line 38: Line 37:
         pyramid_number = sum([j ** 2 for j in range(1, i + 1)])
         pyramid_number = sum([j ** 2 for j in range(1, i + 1)])
         pyramid_numbers.append(pyramid_number)
         pyramid_numbers.append(pyramid_number)
     return pyramid_numbers
     print("Primele", n, "numere piramidale sunt:", " ".join(str(p) for p in pyramid_numbers))




def main():
if __name__ == '__main__':
     n = input("Introduceti numarul de numere piramidale: ")
     n = input("Introduceti numarul de numere piramidale: ")
     while not validate_input(n):
     while not validare_date(n):
         n = input("Input invalid! Introduceti numarul de numere piramidale: ")
         n = input("Input invalid! Introduceti numarul de numere piramidale: ")
 
     if validare_date(n):
     pyramid_numbers = compute_pyramid_numbers(int(n))
        print("Date de intrare valide")
    print("Primele", n, "numere piramidale sunt:", " ".join(str(p) for p in pyramid_numbers))
        compute_pyramid_numbers(int(n))
 
 
if __name__ == '__main__':
    main()


</syntaxhighlight>
</syntaxhighlight>

Revision as of 15:54, 26 April 2023

Cerința

Amicul nostru, Zoli, a învățat la scoală despre pătrate perfecte și numere piramidale. Al n-lea număr piramidal înseamnă suma primelor n pătrate perfecte, începând de la 1. Ajutați-l pe Zoli sa afle primele n numere piramidale.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran primele n numere piramidale, în ordine crescătoare, separate prin câte un spațiu.

Restricții și precizări

1 ≤ n ≤ 400

Exemplu:

Intrare 3

Ieșire 1 5 14

Explicație

Primele 3 numere piramidale sunt 1, 5</span si 14</span.

Rezolvare

<syntaxhighlight lang="python" line="1"> def validare_date(n):

   if not n.isdigit():
       return False
   n = int(n)
   if n < 1 or n > 400:
       return False
   return True


def compute_pyramid_numbers(n):

   pyramid_numbers = []
   for i in range(1, n+ 1):
       pyramid_number = sum([j ** 2 for j in range(1, i + 1)])
       pyramid_numbers.append(pyramid_number)
   print("Primele", n, "numere piramidale sunt:", " ".join(str(p) for p in pyramid_numbers))


if __name__ == '__main__':

   n = input("Introduceti numarul de numere piramidale: ")
   while not validare_date(n):
       n = input("Input invalid! Introduceti numarul de numere piramidale: ")
   if validare_date(n):
       print("Date de intrare valide")
       compute_pyramid_numbers(int(n))

</syntaxhighlight>