2928 - SqrtXXL

From Bitnami MediaWiki
Revision as of 14:15, 6 January 2024 by Ramona Dragoș (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Se dă numărul real n. Calculați √n cu 8 zecimale exacte.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran √n cu 8 zecimale exacte.

Restricții și precizări

  • Dacă numărul citit este negativ se calculează ca pentru un număr pozitiv și se afișează i după el.
  • 1 ⩽ nrcif(n)+'.' ⩽ 100.001

Exemplu 1

Intrare
26
Ieșire
Datele de intrare corespund restricțiilor impuse
5.09901951


Exemplu 2

Intrare
-25
Ieșire
Datele de intrare corespund restricțiilor impuse
5.00000000i


Exemplu 3

Intrare
0
Ieșire
Datele de intrare nu corespund restricțiilor impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 2928 - SqrtXXL

import cmath

def calculate_square_root(n):

   if n < 0:
       result = cmath.sqrt(n)
       return f"{result.real:.8f}{result.imag:+.8f}i"
   else:
       result = cmath.sqrt(n)
       return f"{result.real:.8f}"

def main():

   try:
       n = float(input("Introduceti numarul n: "))
       if 1 <= len(str(n)) <= 100001:
           result = calculate_square_root(n)
           print(result)
       else:
           print("Datele de intrare nu corespund restricțiilor impuse")
   except ValueError:
       print("Datele de intrare nu sunt valide.")

if __name__ == "__main__":

   main()

</syntaxhighlight>