3804 - Raza Cerc Inscris: Difference between revisions
Paul Ungur (talk | contribs) |
Paul Ungur (talk | contribs) |
||
Line 33: | Line 33: | ||
import math | import math | ||
a, b, c | def validare(a, b, c): | ||
if not (a + b > c and b + c > a and c + a > b): | |||
raise ValueError("Triunghiul nu este valid.") | |||
def rezolvare(a, b, c): | |||
p = (a + b + c) / 2 | |||
r = math.sqrt(((p - a) * (p - b) * (p - c)) / p) | |||
print("{:.2f}".format(r)) | print("{:.2f}".format(r)) | ||
def main(): | |||
try: | |||
a, b, c = map(int, input("Introduceți laturile triunghiului (separate prin spații): ").split()) | |||
validare(a, b, c) | |||
rezolvare(a, b, c) | |||
except ValueError as ve: | |||
print(ve) | |||
if __name__ == '__main__': | |||
main() | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 11:02, 25 March 2023
Cerința
Se dau lungimile laturilor unui triunghi. Aflați raza cercului înscris triunghiului.
Date de intrare
Programul citește de la tastatură numerele a, b, c, reprezentand lungimile laturilor triunghiului.
Date de ieșire
Programul va afișa pe ecran numărul r, reprezentând lungimea razei cercului înscris cu 2 zecimale exacte, daca triunghiul este valid, altfel se va afisa mesajul Imposibil.
Restricții și precizări
1 ≤ a, b, c ≤ 1000
Exemplul 1:
Intrare 3 4 5
Ieșire 1.00
Exemplul 2:
Intrare
4 5 10
Ieșire
Imposibil
Rezolvare
<syntaxhighlight lang="python" line="1"> import math
def validare(a, b, c):
if not (a + b > c and b + c > a and c + a > b): raise ValueError("Triunghiul nu este valid.")
def rezolvare(a, b, c):
p = (a + b + c) / 2 r = math.sqrt(((p - a) * (p - b) * (p - c)) / p) print("{:.2f}".format(r))
def main():
try: a, b, c = map(int, input("Introduceți laturile triunghiului (separate prin spații): ").split()) validare(a, b, c) rezolvare(a, b, c) except ValueError as ve: print(ve)
if __name__ == '__main__':
main()
</syntaxhighlight>