2928 - SqrtXXL
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>
- 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>