|
本帖最后由 kuing 于 2025-2-4 21:44 编辑
我的回答(未完):
引理:`\triangle ABC` 中,内切圆半径为 `r`,记 `BC` 上的高为 `h_a`,则
\[\frac r{h_a}=\frac a{a+b+c}.\]
(引理证明略)
回到原题:记 `BC=a`, `CA=b`, `AB=c`,设三条射线将 `BC` 分成四段长度分别为 `x`, `y`, `z`, `w`,三条射线被截得的长度分别为 `t`, `u`, `v`,如图:
则
\[x + y + z + w = a,\quad ①\]
由引理,由于四个小三角形的内切圆半径相等,高也相等,所以有
\[\frac x{x+c+t}=\frac y{y+t+u}=\frac z{z+u+v}=\frac w{w+v+b},\quad ②\]
由斯特瓦尔特定理有
\begin{align*}
t^2&=\frac{u^2x+c^2y}{x+y}-xy,&③\\
u^2&=\frac{v^2y+t^2z}{y+z}-yz,&④\\
v^2&=\frac{b^2z+u^2w}{z+w}-zw,&⑤
\end{align*}
代入原题数据 `a=63648`, `b=70677`, `c=11925`,则由①②③④⑤可解出:
\[
x = 7200,~ y = 10800,~ z = 17280,~ w = 28368,~ t = 16875,~ u = 26325,~ v = 42795,
\]
再代内切圆半径公式可得最终所求为
\[r=\frac12\sqrt{\frac{(x+c-t)(c+t-x)(t+x-c)}{x+c+t}}=2025.\]
解完之余,很好奇命题者是怎么构造数据,使得线段全是整数,所求还是今年年份?尝试破解下。
考虑更多的分割,又或者说往右继续作三角形和相等的内切圆,尝试求出各底与那些线的递推关系,那就变成数列问题。
如上图,按照前面的方法,对于第 `n` 和第 `n+1` 个小三角形的边长,有如下关系
\begin{gather*}
\frac{x_n}{x_n+t_n+t_{n+1}}=\frac{x_{n+1}}{x_{n+1}+t_{n+1}+t_{n+2}},\quad(*)\\
t_{n+1}^2=\frac{t_n^2x_{n+1}+t_{n+2}^2x_n}{x_{n+1}+x_n}-x_{n+1}x_n,\quad(**)
\end{gather*}
由式 (*) 知 `\left\{\frac{x_n}{t_n+t_{n+1}}\right\}` 为常数列,设该常数为 `C`,即
\[x_n=C(t_{n+1}+t_n),\]
代入式 (**) 即
\[t_{n+1}^2=\frac{t_n^2(t_{n+2}+t_{n+1})+t_{n+2}^2(t_{n+1}+t_n)}{t_{n+2}+2t_{n+1}+t_n}-C^2(t_{n+2}+t_{n+1})(t_{n+1}+t_n),\]
恰好能化出很简洁的递推
\[t_{n+2}=\frac{2(C^2+1)}{1-C^2}t_{n+1}-t_n,\]
则可求出通项为
\[t_n=\frac{(1+C)^2t_1-(1-C^2)t_2}{4C}\left(\frac{1-C}{1+C}\right)^{n-1}+\frac{(1-C^2)t_2-(1-C)^2t_1}{4C}\left(\frac{1+C}{1-C}\right)^{n-1},\quad(*{*}*)\]
也就是说,只要给出第一个小三角形的三边长,后面的所有小三角形的三边表达式都能写出来。
那么出题的关键就是确定第一个小三角形,得同时满足:
- 半径是年份(或你想要的数)
- 三边为整数
- 上述通项起码有前几项为整数
糟了,好像变成了数论问题,我弱项……先睡鸟,未完待续……
编辑于 2025-01-31 02:13
========== 以上是原回答,以下是更新 ==========
(由于我数论渣和编程也菜,想法不成熟可能会不断修改,而知乎上编辑很麻烦,所以先在论坛这里更新)
\begin{gather*}
r=\frac12\sqrt{\frac{(x_1+t_1-t_2)(x_1+t_2-t_1)(t_1+t_2-x_1)}{x_1+t_1+t_2}},\quad x_1=C(t_1+t_2)\\
\riff(1-C)^2(1+C)(t_1+t_2)^2-4(1-C)t_1t_2+4(1+C)r^2=0,\quad(1)
\end{gather*}
目标就是要找到合适的 `t_1`, `t_2\inN^+` 和 `C\inQ` 满足上式且 `r` 是你想要的数,同时还得使得前面求出的通项式 (***) 中有连续几项为整数(由通项公式易知不可能恒为整数,只能希望数量尽量多些)。
用软件来找,分两步,首先找到满足式 (1) 的,再将它们代入式 (***) 中看看有多少整数项。
令 `C=p/q` 为既约分数且 `0<p<q`,式 (1) 化为
\[(p-q)^2(p+q)(t_1+t_2)^2+4(p-q)q^2t_1t_2+4(p+q)q^2r^2=0,\quad(2)\]
先试试能不能找到开头题目的数据,用 mma 运行
- r = 2025;
- ttt = Reduce[(p - q)^2 (p + q) (t1 + t2)^2 + 4 (p - q) q^2 t1 t2 + 4 q^2 (p + q) r^2 == 0
- && 0 < p < q < 10
- && r < t1 <= t2
- && GCD[p, q] == 1, {p, q, t1, t2}, Integers]
复制代码
(这里如果不限定 q < 10 会解不出来,只好缩小范围它就能给出该范围内的解)
运行约一分钟,会给出一大堆解,这个解集存放在 ttt 里,给后面调用。
然后第二步,先设计一个函数
- ztn[c_, t1_, t2_] := Module[{n, n1, n2, t},
- t[k_] = ((1 + c)^2 t1 - (1 - c^2) t2)/(4 c) ((1 - c)/(1 + c))^(k - 1) + ((1 - c^2) t2 - (1 - c)^2 t1)/(4 c) ((1 + c)/(1 - c))^(k - 1);
- n = 3; While[IntegerQ[t[n]], n++]; n1 = n - 1;
- n = 0; While[IntegerQ[t[n]], n--]; n2 = n + 1;
- {c, n1 - n2 + 1, Table[t[k], {k, n2, n1}]}]
复制代码
该函数根据 c, t1, t2 列出整数项的 `t_n`、数目及相应的 `C`,然后运行
- Table[ztn[ttt[[k, 1, 2]]/ttt[[k, 2, 2]], ttt[[k, 3, 2]], ttt[[k, 4, 2]]], {k, Length[ttt]}] // Union // MatrixForm
复制代码
其中 Union 是去除重复,运行结果也是一堆,很多只有两三个 `t_n` 是整数,就不全贴了,只贴几个长的:
最长的串是当 `C=1/2` 时有连续 11 个整数(也就是可以作 10 个内切圆)的三串:
- {29837,10779,6093,9531,25677,76059,227853,683451,2050317,6150939,18452813}
- {147685,49395,16965,7155,6885,15795,45765,136755,410085,1230195,3690565}
- {738125,246075,82125,27675,10125,6075,10125,27675,82125,246075,738125}
复制代码
(还有两串是前两个的倒序,也算是重复,但不知如何去除)
这些解的数字间比例太大了,要是画出来肯定看不清。
还有两串是当 `C=1/4` 时有连续 7 个整数的:
- {11093,10155,11925,16875,26325,42795,70677}
- {24531,15885,11475,10125,11475,15885,24531}
复制代码
这第一串的后 5 个数正是开头题目的数据!终于找到你了O(∩_∩)O哈!😇
那就是说开头题目还可以向左边再作两个等内切圆,边也是整数。
咦?另一个回答 zhihu.com/question/10902305664/answer/89957311245 不就是么,也就是这个的答案也是 2025 了。
而第二串是左右对称的,那中间那条线就是垂直底边了。
那就目前看起来,`r=2025` 最好的数据确实就是开头题目的数据。
接下来尝试构造明年的题,用同样的方式,只是将程序第一行改成 r = 2026;
结果却少了很多,也没有很长的串,最长的只有当 `C=1/3` 时有两串 5 数:
- {17221,10130,8104,10130,17221}
- {1026185,2052346,4104680,8209354,16418705}
复制代码
(也未必没有更长,毕竟我最开头限制了 q<10,输出的并不是全部解)
r = 2024 的还行,有几串 9 数,也是 `C=1/3` 的:
- {8635,13046,23980,46904,93280,186296,372460,744854,1489675}
- {8671,8510,12604,23000,44896,89240,178204,356270,712471}
- {31505,16546,9860,8104,10400,17896,34340,67954,135545}
- {64265,128146,256100,512104,1024160,2048296,4096580,8193154,16386305}
- {65021,32890,17204,10120,8096,10120,17204,32890,65021}
复制代码
2026 那么少,会不会是因为 2026 的质因数分解是 2*1013,因数太少?不知道……
让半径小一点呢?来个 r = 666 试试,结果还行:
`C=1/2`,7 数:
- {2098,4350,12402,36990,110898,332670,998002}
- {27010,9102,3330,1998,3330,9102,27010}
复制代码
`C=1/3`,5 数:
- {2665,3386,5800,11114,21985}
- {2775,2886,4440,8214,16095}
- {3589,6290,12136,24050,47989}
- {4539,8430,16536,32910,65739}
- {5661,3330,2664,3330,5661}
- {12465,24714,49320,98586,197145}
- {37011,73950,147864,295710,591411}
- {110905,221786,443560,887114,1774225}
复制代码
来取一串造个具体题目吧,画出来不太难看的,就上面这堆的第二串 {2775,2886,4440,8214,16095} 感觉还行,相应的 `x_n` 是 {1887, 2442, 4218, 8103},和为 16650,所以出来的题目就是:
`\triangle ABC` 中,`BC=16650`, `AB=2775`, `AC=16095`,过 `A` 作三条射线将 `\triangle ABC` 分成内切圆半径相等的四个小三角形,求这个内切圆的半径长度。
继续待续……
|
|