2695 - Cub Perfect: Difference between revisions

From Bitnami MediaWiki
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">
import math
def validare_date(n, nums):
 
def is_cubic(n):
    return round(n ** (1.0 / 3)) ** 3 == n
 
def validate_input(n, nums):
     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 check_cubic_perfection(n, nums):
 
     if not validate_input(n, nums):
def este_cub(n):
        return "Invalid input"
     return round(n ** (1.0 / 3)) ** 3 == n
 
 
def verificare_cub(n, nums):
     result = []
     result = []
     for num in nums:
     for num in nums:
         if is_cubic(abs(num)):
         if este_cub(abs(num)):
             result.append("DA")
             result.append("DA")
         else:
         else:
             result.append("NU")
             result.append("NU")
     return " ".join(result)
     print("\n".join(result))


def main():
 
if __name__ == '__main__':
     n = int(input())
     n = int(input())
     nums = list(map(int, input().split()))
     nums = list(map(int, input().split()))
     print(check_cubic_perfection(n, nums))
     if validare_date(n, nums):
 
        print("Date de intrare valide")
if __name__ == '__main__':
        verificare_cub(n, nums)
    main()
    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>