风筝形(Kite)类似于菱形,但在风筝形中,相邻的边相等,且两条对角线通常不相等。
目录
方法一:当两条对角线已知时
如果已知风筝形的对角线 d1 和 d2,那么风筝形的面积等于这两条对角线乘积的一半,即:
\ Area = \frac{ d1 * d2 } {2} \
示例:
**输入:** d1 = 4, d2 = 6
**输出:** Area of Kite = 12
**输入:** d1 = 5, d2 = 7
**输出:** Area of Kite = 17.5
方法: 在这种方法中,我们直接使用上述公式。
下面是上述方法的实现:
C++
CODEBLOCK_56902094
Java
CODEBLOCK_2a78ebc0
Python3
CODEBLOCK_62ee018b
C#
CODEBLOCK_ea470067
JavaScript
CODEBLOCK_cab45d11
输出:
Area of Kite = 12
时间复杂度:O(1)
辅助空间:O(1)
方法二:当边 a、b 和夹角已知时:
当已知风筝形的不等边 a 和 b 以及它们之间的夹角Θ 时,计算公式为:
\ Area = absin\theta \
示例:
**输入:** a = 4, b = 7, θ = 78
**输出:** Area of Kite = 27.3881
**输入:** a = 6, b = 9, θ = 83
**输出:** Area of Kite = 53.5975
方法: 在这种方法中,我们直接使用上述公式。
下面是上述方法的实现:
C++
CODEBLOCK_df80f8e1
Java
CODEBLOCK_ace31ecd
Python3
“
Python implementation of the approach
import math
PI = 3.14159 / 180;
Function to return the area of the kite
def areaOfKite(a, b, angle):
# convert angle degree to radians
angle = angle * PI;
# use above formula
area = a b math.sin(angle);
return area;
Driver code
a = 4; b = 7; angle = 78;
print("Area of Kite = ",
areaOfKite(a, b, angle));