2695 - Cub Perfect: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) No edit summary |
||
Line 29: | Line 29: | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
def validare_date(n, nums): | |||
def | |||
if n < 1 or n > 1000: | if n < 1 or n > 1000: | ||
return False | return False | ||
Line 42: | Line 37: | ||
return True | return True | ||
def | |||
def este_cub(n): | |||
return round(n ** (1.0 / 3)) ** 3 == n | |||
def verificare_cub(n, nums): | |||
result = [] | result = [] | ||
for num in nums: | for num in nums: | ||
if | if este_cub(abs(num)): | ||
result.append("DA") | result.append("DA") | ||
else: | else: | ||
result.append("NU") | result.append("NU") | ||
print("\n".join(result)) | |||
if __name__ == '__main__': | |||
n = int(input()) | n = int(input()) | ||
nums = list(map(int, input().split())) | nums = list(map(int, input().split())) | ||
print( | if validare_date(n, nums): | ||
print("Date de intrare valide") | |||
verificare_cub(n, nums) | |||
else: | |||
print("Date de intrare invalide") | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 15:53, 26 April 2023
Cerința:
Se citește un număr n și apoi n numere întregi. Să se verifice pentru fiecare număr dacă este cub perfect.
Date de intrare:
Programul citește de la tastatură numărul n și n numere naturale.
Date de ieșire:
Programul va afișa DA sau NU pe câte o linie dacă numărul citit este sau nu cub perfect.
Restricții și precizări:
1 ≤ n ≤ 1000 cele n numere sunt -1.000.000.000.000 ≤ x ≤ 1.000.000.000.000
Exemplu:
Intrare 5 1 -1 8 -8 9
Ieșire DA DA DA DA NU
Explicație:
S-au citit 5 numere, s-a verificat dacă sunt cuburi perfecte și s-a afișat răspunsul corespunzător.
Rezolvare
<syntaxhighlight lang="python" line="1"> def validare_date(n, nums):
if n < 1 or n > 1000: return False for num in nums: if num < -1000000000000 or num > 1000000000000: return False return True
def este_cub(n):
return round(n ** (1.0 / 3)) ** 3 == n
def verificare_cub(n, nums):
result = [] for num in nums: if este_cub(abs(num)): result.append("DA") else: result.append("NU") print("\n".join(result))
if __name__ == '__main__':
n = int(input()) nums = list(map(int, input().split())) if validare_date(n, nums): print("Date de intrare valide") verificare_cub(n, nums) else: print("Date de intrare invalide")
</syntaxhighlight>