3805 - Rază Cerc Circumscris
Cerință[edit | edit source]
Se dau lungimile laturilor unui triunghi. Aflați raza cercului circumscris triunghiului.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele a, b, c, reprezentand lungimile laturilor triunghiului.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran numărul R, reprezentând lungimea razei cercului circumscris cu 2 zecimale exacte, daca triunghiul este valid, altfel se va afisa mesajul Imposibil. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări[edit | edit source]
- 1 ≤ a, b, c ≤ 1000
Exemplul 1[edit | edit source]
- Intrare
- 3
- 4
- 5
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 2.50
Exemplul 2[edit | edit source]
- Intrare
- 4
- 5
- 10
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- Imposibil
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> import math
- Functia pentru validarea lungimilor laturilor triunghiului
def validare(a, b, c):
# Verifica daca fiecare lungime de latura este intre 1 si 1000 if 1 <= a <= 1000 and 1 <= b <= 1000 and 1 <= c <= 1000: return True return False
- Functia pentru calcularea razei cercului circumscris triunghiului
def raza_cercului(a, b, c):
# Verifica daca lungimile sunt pozitive si conform conditiei triunghiului if a <= 0 or b <= 0 or c <= 0: print("Imposibil") elif a + b <= c or b + c <= a or c + a <= b: print("Imposibil") else: # Calculeaza semiperimetrul triunghiului s = (a + b + c) / 2 # Calculeaza aria triunghiului folosind formula lui Heron area = math.sqrt(s * (s - a) * (s - b) * (s - c)) # Calculeaza raza cercului circumscris folosind formula ariei si lungimile laturilor radius = (a * b * c) / (4 * area) # Afiseaza rezultatul cu doua zecimale exacte print("{:.2f}".format(radius))
if __name__ == "__main__":
# Citeste lungimile laturilor triunghiului de la tastatura a = int(input("Introduceti lungimea primei laturi: ")) b = int(input("Introduceti lungimea celei de-a doua laturi: ")) c = int(input("Introduceti lungimea celei de-a treia laturi: "))
# Verifica daca lungimile laturilor sunt valide if validare(a, b, c): print("Datele de intrare corespund restricțiilor impuse.") # Calculeaza raza cercului circumscris si o afiseaza raza_cercului(a, b, c) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>