2928 - SqrtXXL
De la Universitas MediaWiki
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
#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()