1684 - Numere Piramidale: Difference between revisions
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"> | ||
def validare_date(n): | |||
def | |||
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) | ||
print("Primele", n, "numere piramidale sunt:", " ".join(str(p) for p in pyramid_numbers)) | |||
if __name__ == '__main__': | |||
n = input("Introduceti numarul de numere piramidale: ") | n = input("Introduceti numarul de numere piramidale: ") | ||
while not | 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): | |||
print("Date de intrare valide") | |||
compute_pyramid_numbers(int(n)) | |||
</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>