图中一共有多少个三角形?
本帖最后由 nyy 于 2024-11-4 11:02 编辑以前在视频号上看到一个类似的题目,但是没答案。
我也不知道怎么计算,我唯一能想到的就是穷举法,
但是穷举法也比较烧脑筋。
有没有什么好的思路?思路越清晰越简单越好!
应该是8段,而不是8断。拼音输入法的毛病。写这个8段是方便别人不用数,9个点 图中任意取三点,一共45个点,C(45,3),再减去三点共线的情况,但是还需要去掉一些根本不存在的情况。这个思路死了 本帖最后由 nyy 于 2024-11-4 12:07 编辑
nyy 发表于 2024-11-4 10:58
图中任意取三点,一共45个点,C(45,3),再减去三点共线的情况,但是还需要去掉一些根本不存在的情况。这个 ...
目前我计算出来,一共有330个三角形。
假设每边的段数是n,那么我猜测三角形的个数为
\[\frac{1}{24} n (n+1) (n+2) (n+3)\] nyy 发表于 2024-11-4 11:59
目前我计算出来,一共有330个三角形。
假设每边的段数是n,那么我猜测三角形的个数为
Clear["Global`*"];(*清除所有变量*)
deg=Pi/180;(*角度制下1°所对应的弧度*)
pt={Cos,Sin}
n=8;(*每边的段数*)
(*产生所有的三角形的顶点的坐标,形成列表*)
aa=Flatten[#,1]&@Table
(*产生所有的可能的组合,三个点形成三角形(包括蜕化的三角形)*)
bb=Subsets;
(*三边相等,根据这个条件,选出所有的可能*)
cc=Select],#[]]==EuclideanDistance[#[],#[]]==EuclideanDistance[#[],#[]])&]
dd=Length(*计算个数*)
穷举法,
1、列出所有的点,
2、然后从这点选出三个点,形成所有的三点组合,
3、再选出能够形成等边三角形的情况。
对于n=8(一个边被分成8段)的情况,有330个三角形
这是一个有趣的问题,但是这并不是一个容易的问题
https://www.jstor.org/stable/3613774
How Many Triangles?
https://oeis.org/A002717
Number of triangles in triangular matchstick arrangement of side n, for n >= 1
Clear["Global`*"];(*清除所有变量*)
deg=Pi/180;(*角度制下1°所对应的弧度*)
pt={Cos,Sin}
n=8;(*每边的段数*)
(*产生所有的三角形的顶点的坐标,形成列表*)
aa=Flatten[#,1]&@Table;
(*产生所有的可能的组合,三个点形成三角形(包括蜕化的三角形)*)
bb=Subsets;
(*三边相等,根据这个条件,选出所有的可能,*)
cc=Select],#[]]==EuclideanDistance[#[],#[]]==EuclideanDistance[#[],#[]]),Or[(#[]==#[]),(#[]==#[]),(#[]==#[])]]&];
dd=Length(*计算个数*)
我先计算出n=8的情况,找出三角形的个数,三角形有一边必然平行x轴,因此纵坐标相等。再加上等边三角形这个约束条件。最后找出n=8的情况。
再依次找出n=4,5,6,7的情况,最后去上面的网站搜索一下这个数列,最后找到了这个结果。
通项公式为a(n) = floor(n(n+2)(2n+1)/8),这个通项公式,还是很让人意外的!难关我想不出来!
https://math.stackexchange.com/questions/203873/how-many-triangles
这地方有个提问的回答,开起来很不错! 从简单想起。主帖=8层
1层=001=01=单个
2层=005=04+1=单个+4个
3层=013=09+3+1=单个+4个+9个
4层=027=16+6+3+1+(1)=单个+4个+9个+16个+(单个)。()表示尖朝下。
5层=048=25+10+6+3+1+(3)=单个+4个+9个+16个+25个+(4个)。()表示尖朝下。
6层=078=36+15+10+6+3+1+(6+1)=单个+4个+9个+16个+25个+36个+(4个+9个)。()表示尖朝下。
7层=118=49+21+15+10+6+3+1+(10+3)=单个+4个+9个+16个+25个+36个+49个+(4个+9个)
8层=170=64+28+21+15+10+6+3+1+(15+6+1)=单个+4个+9个+16个+25个+36个+49个+64个+(4个+9个+16个) 有通项公式。 本帖最后由 nyy 于 2024-11-4 14:47 编辑
aimisiyou 发表于 2024-11-4 14:04
有通项公式。
通项公式
\[\left\lfloor \frac{1}{8} n (n+2) (2 n+1)\right\rfloor\]
Clear["Global`*"];(*清除所有变量*)
aa=Table[{n,Floor},{n,1,20}]
Grid(*列表显示*)
前二十项的数据
{{1, 1}, {2, 5}, {3, 13}, {4, 27}, {5, 48}, {6, 78}, {7, 118}, {8,
170}, {9, 235}, {10, 315}, {11, 411}, {12, 525}, {13, 658}, {14,
812}, {15, 988}, {16, 1188}, {17, 1413}, {18, 1665}, {19,
1945}, {20, 2255}}
列表
\[\begin{array}{rr}
1 & 1 \\
2 & 5 \\
3 & 13 \\
4 & 27 \\
5 & 48 \\
6 & 78 \\
7 & 118 \\
8 & 170 \\
9 & 235 \\
10 & 315 \\
11 & 411 \\
12 & 525 \\
13 & 658 \\
14 & 812 \\
15 & 988 \\
16 & 1188 \\
17 & 1413 \\
18 & 1665 \\
19 & 1945 \\
20 & 2255 \\
\end{array}\] nyy 发表于 2024-11-4 14:45
通项公式
\[\left\lfloor \frac{1}{8} n (n+2) (2 n+1)\right\rfloor\]
你这错的不忍直视。
页:
[1]
2