三边长均为整数且最长边为11的三角形有几个
根据条件可以用python写代码如下:
import matplotlib.pyplot as plt
import math
list=[]
for i in range(2,11):
for j in range(2,11):
#if i+j>11 and i!=j:
if i+j>11:
item_a=[i,j]
item_r=item_a.copy()
item_r.reverse()
if item_r not in list:
list.append(item_a)
cos=(i**2+11**2-j**2)/(2*i*11)
sin=math.sqrt(1-cos**2)
x=[0,11,i*cos,0]
y=[0,0,i*sin,0]
plt.plot(x,y)
for k in range(len(list)):
print(k,list[k])
运行结果(25种情况):
0 [2, 10]
1 [3, 9]
2 [3, 10]
3 [4, 8]
4 [4, 9]
5 [4, 10]
6 [5, 7]
7 [5, 8]
8 [5, 9]
9 [5, 10]
10 [6, 6]
11 [6, 7]
12 [6, 8]
13 [6, 9]
14 [6, 10]
15 [7, 7]
16 [7, 8]
17 [7, 9]
18 [7, 10]
19 [8, 8]
20 [8, 9]
21 [8, 10]
22 [9, 9]
23 [9, 10]
24 [10, 10]
如果要求不等腰,则是20种:
0 [2, 10]
1 [3, 9]
2 [3, 10]
3 [4, 8]
4 [4, 9]
5 [4, 10]
6 [5, 7]
7 [5, 8]
8 [5, 9]
9 [5, 10]
10 [6, 7]
11 [6, 8]
12 [6, 9]
13 [6, 10]
14 [7, 8]
15 [7, 9]
16 [7, 10]
17 [8, 9]
18 [8, 10]
19 [9, 10]
两边之和大于第三边:
a+b>11
两边之差小于第三边:
a-b<11
因为最长边是11,所以a b都是短边
a<=11且b<=11
最短边为1,那么另一边为11,一种.
最短边2,另一边可以是11 、10,二种.
最短边为3,另一边可以是9 、10 、11,三种.
……
最短边6,另一边可以是6、7、8、9、10、11,六种.
最短边7,另一边可以是7、8、9、10、11,五种.
最短边8,另一边可以是8、9、10、11,四种.
……
最短边11,另一边只能是11,一种.
所以,共1+2+3+4+5+6+5+4+3+2+1=36种.
N和M的条件是:N<=11、M<=11、N+M>11
N M
1 11
2 11、10
3 11、10、9
4 11、10、9、8
5 11、10、9、8、7
6 11、10、9、8、7、6
7 11、10、9、8、7、6、5
8 11、10、9、8、7、6、5、4
9 11、10、9、8、7、6、5、4、3
10 11、10、9、8、7、6、5、4、3、2
11 11、10、9、8、7、6、6、4、3、2、1
(1+11)/2 x11=66
考虑到 N和M组成的三角形和M和N组成的三角形相同,所以答案应是 33
广告 您可能关注的内容 |