Returns area of concave triangle >>> concave_triangle_area(1) 0.026825229575318944 >>> concave_triangle_area(2) 0.01956236140083944
(circles_number: int)
| 49 | |
| 50 | |
| 51 | def concave_triangle_area(circles_number: int) -> float: |
| 52 | """ |
| 53 | Returns area of concave triangle |
| 54 | |
| 55 | >>> concave_triangle_area(1) |
| 56 | 0.026825229575318944 |
| 57 | |
| 58 | >>> concave_triangle_area(2) |
| 59 | 0.01956236140083944 |
| 60 | """ |
| 61 | |
| 62 | intersection_y = (circles_number + 1 - sqrt(2 * circles_number)) / ( |
| 63 | 2 * (circles_number**2 + 1) |
| 64 | ) |
| 65 | intersection_x = circles_number * intersection_y |
| 66 | |
| 67 | triangle_area = intersection_x * intersection_y / 2 |
| 68 | concave_region_area = circle_bottom_arc_integral( |
| 69 | 1 / 2 |
| 70 | ) - circle_bottom_arc_integral(intersection_x) |
| 71 | |
| 72 | return triangle_area + concave_region_area |
| 73 | |
| 74 | |
| 75 | def solution(fraction: float = 1 / 1000) -> int: |
no test coverage detected