| 
注册时间2012-4-20最后登录1970-1-1威望 星金币 枚贡献 分经验 点鲜花 朵魅力 点上传 次下载 次积分3393在线时间 小时 
 | 
 
 发表于 2025-2-2 12:37:23
|
显示全部楼层 
| 复制代码Clear["Gloable*`"];
(* 三角形边长及半径r关于n的有理表示, 切分的线段设为a=1 *)
expression[n_] := Module[{m = Floor[n/2]}, 
   If[Mod[n, 2] == 0, {a -> 1, 
     b -> 1/2 (-((1 - k^2)/(1 + k^2)) + (1 + t^(2 m))/(1 - t^(2 m))), 
     c -> 1/2 ((1 - k^2)/(1 + k^2) + (1 + t^(2 m))/(1 - t^(2 m))), 
     r -> Abs[(k (1 - t) t^m)/((1 + k^2) (1 - t^(2 m)))]},
    {a -> 1, 
     b -> 1/2 (-((1 - k^2 t)/(1 + k^2 t)) + (1 + t^(1 + 2 m))/(
         1 - t^(1 + 2 m))), 
     c -> 1/2 ((1 - k^2 t)/(1 + k^2 t) + (1 + t^(1 + 2 m))/(
         1 - t^(1 + 2 m))), 
     r -> Abs[(
       k (1 - t) t^(1 + m))/((1 + k^2 t) (1 - t^(1 + 2 m)))]}]];
GetMinList[n_] := Module[{},
   (* 生成分母不超过10的有理分数 *)
   titems = 
    Select[Union@(#1/#2 & @@[url=home.php?mod=space&uid=6175]@[/url] Tuples[Range[1, 10], 2]), 0 < # < 1 &];
   kitems = 
    Flatten[{Union@(#1/#2 & @@@ Tuples[Range[1, 10], 2]), 
      Union@(-(#1/#2) & @@@ Tuples[Range[1, 10], 2]), 0}];
   sets = Tuples[Flatten[{kitems, -titems}], 2];
   values = 
    Union@(expression[
        n] /. (AssociationThread[{k, t} -> #] & /@ sets));
   (* 筛选 a>0, b>0, c>0, r>0 且1-2r/h > 0 的 *)
   values = 
    Select[values, 
     And[( Min@(Values@#)) > 
        0, ((1 - (4 a r)/Sqrt[
            4 a^2 b^2 - (a^2 + b^2 - c^2)^2]) /. #) > 0 ] &];
   values = 
    AssociationThread[
       Keys[#] , (PolynomialLCM @@ (Denominator@
            Values@#))*(Values@#)] & /@ values;
   (* 按a排序 *)
   sorted = SortBy[values, (a /. #) &];
   Print["n=", n, "\n", Take[sorted, 100]];
   ];
GetMinList[#] & /@ Range[2, 10]
 给出的结果似乎包含一些增解。
 
   
 | 
评分
| 参与人数 2 | 威望 +18 | 金币 +18 | 贡献 +18 | 经验 +18 | 鲜花 +18 | 收起
理由 |  
|  王守恩 | + 6 | + 6 | + 6 | + 6 | + 6 |  |  
|  wayne | + 12 | + 12 | + 12 | + 12 | + 12 | 赞一个! |  
查看全部评分
 |