3825 - Radius: Difference between revisions
No edit summary |
No edit summary |
||
Line 38: | Line 38: | ||
def verificare_restrictii(n1, a1): | def verificare_restrictii(n1, a1): | ||
# functia de verificare a datelor de intrare | # functia de verificare a datelor de intrare | ||
if 3 <= n1 <= | if 3 <= n1 <= 360 and 1 <= a1 <= 1000: # updated restrictions | ||
return True | return True | ||
else: | else: |
Latest revision as of 12:40, 16 November 2023
Cerinţa[edit | edit source]
Se da un poligon regulat cu n laturi si a lungimea unei laturi. Aflati distanta de la centrul poligonului la oricare varf.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele n si a.
Date de ieşire[edit | edit source]
Programul va afișa pe ecran numărul r, reprezentand distanta de la centrul poligonului la varf, cu 2 zecimale exacte, fără rotunjire.
Restricții și precizări[edit | edit source]
- 3 ≤ n ≤ 360
- 1 ≤ a ≤ 1000
Exemplul 1[edit | edit source]
- Intrare
- 3 2
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 1.15
Exemplul 2[edit | edit source]
- Intrare
- 4 2
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 1.41
Exemplul 3[edit | edit source]
- Intrare
- 6 3
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 3.00
Exemplul 4[edit | edit source]
- Intrare
- n
- Ieșire
- Datele introduse nu corespund restricțiilor impuse.
<syntaxhighlight lang="python" line>
- 3825 - Radius
import math
def verificare_restrictii(n1, a1):
# functia de verificare a datelor de intrare if 3 <= n1 <= 360 and 1 <= a1 <= 1000: # updated restrictions return True else: return False
def distanta_centru_varf(n1, a1):
# Unghiul dintre doua laturi adiacente ale poligonului unghi = 2 * math.pi / n1 # Distanta de la centrul poligonului la oricare varf r1 = a1 / (2 * math.sin(unghi / 2)) return r1
if __name__ == "__main__":
try: # Citim datele de intrare n, a = map(int, input().split()) if verificare_restrictii(n, a): # verificam datele de intrare print("Datele de intrare corespund restrictiilor impuse.") # Calculam distanta de la centrul poligonului la varf r = distanta_centru_varf(n, a) # Afisam rezultatul cu 2 zecimale exacte, fara rotunjire print(f"{r: .2f}") else: print("Datele de intrare nu corespund restrictiilor impuse.") # ne asteptam la 2 tipuri de erori din cauza datelor de intrare, le tratam corespunzator except ValueError: print("Datele de intrare nu corespund restrictiilor impuse.") except IndexError: print("Datele de intrare nu corespund restrictiilor impuse.")
</syntaxhighlight>