2695 - Cub Perfect: Diferență între versiuni
De la Universitas MediaWiki
Linia 29: | Linia 29: | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
n | import math | ||
for | |||
def is_cubic(n): | |||
return round(n ** (1.0 / 3)) ** 3 == n | |||
def validate_input(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 check_cubic_perfection(n, nums): | |||
if not validate_input(n, nums): | |||
return "Invalid input" | |||
result = [] | |||
for num in nums: | |||
if is_cubic(abs(num)): | |||
result.append("DA") | |||
else: | |||
result.append("NU") | |||
return " ".join(result) | |||
def main(): | |||
n = int(input()) | |||
nums = list(map(int, input().split())) | |||
print(check_cubic_perfection(n, nums)) | |||
if __name__ == '__main__': | |||
main() | |||
</syntaxhighlight> | </syntaxhighlight> |
Versiunea de la data 24 martie 2023 15:27
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
import math
def is_cubic(n):
return round(n ** (1.0 / 3)) ** 3 == n
def validate_input(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 check_cubic_perfection(n, nums):
if not validate_input(n, nums):
return "Invalid input"
result = []
for num in nums:
if is_cubic(abs(num)):
result.append("DA")
else:
result.append("NU")
return " ".join(result)
def main():
n = int(input())
nums = list(map(int, input().split()))
print(check_cubic_perfection(n, nums))
if __name__ == '__main__':
main()