楼主: 〇〇

欧拉计划747:三角披萨

[复制链接]
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
21#
 楼主| 发表于 2021-2-17 08:00 | 只看该作者
PAC PBD=AOB的n通解

  1. In[3]:= Solve[{
  2.         a*b==1/n,
  3.         y(1-a)==1/n,
  4.         x(1-b)==1/n,
  5.         y==b-(b/a)x
  6.         },{a,b,x,y}]

  7.                                                           2                                   2
  8.                  -3     6       3        Sqrt[9 - 10 n + n ]       3    3    Sqrt[9 - 10 n + n ]
  9.                ------ + - + ---------- - -------------------       - - --- + -------------------
  10.                -1 + n   n   (-1 + n) n       (-1 + n) n            2   2 n           2 n
  11. Out[3]= {{x -> ---------------------------------------------, y -> -----------------------------,
  12.                                      2                                        -1 + n

  13.                                     2
  14.                3   Sqrt[9 - 10 n + n ]
  15.            1 + - - -------------------                                2
  16.                n            n                3 + n + Sqrt[9 - 10 n + n ]
  17. >     b -> ---------------------------, a -> ---------------------------},
  18.                         4                                4 n

  19.                                                       2                                 2
  20.              -3     6       3        Sqrt[9 - 10 n + n ]           3   Sqrt[9 - 10 n + n ]
  21.            ------ + - + ---------- + -------------------       3 - - - -------------------
  22.            -1 + n   n   (-1 + n) n       (-1 + n) n                n            n
  23. >    {x -> ---------------------------------------------, y -> ---------------------------,
  24.                                  2                                     2 (-1 + n)

  25.                                       2
  26.            1    3    Sqrt[9 - 10 n + n ]
  27.            - + --- + -------------------                                2
  28.            2   2 n           2 n               3 + n - Sqrt[9 - 10 n + n ]
  29. >     b -> -----------------------------, a -> ---------------------------}}
  30.                          2                                 4 n
复制代码

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
22#
 楼主| 发表于 2021-2-17 08:04 | 只看该作者
本帖最后由 〇〇 于 2021-2-17 08:54 编辑

Solve[{
a*b==1/n,
y(1-a)==c/n,
x(1-b)==d/n,
y==b-(b/a)x
},{a,b,x,y}]
的解很难读,也不知道是否在(0,1)取值范围内无理数部分是
Sqrt[(-1 - c - d - n) ^2 - 4 (1 + d) (n + c n)]
只要里面>=0,就不会有虚数

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
23#
 楼主| 发表于 2021-2-17 08:17 | 只看该作者

点到直线的距离自动满足了
假设该点坐标为(x,y),直线方程为Ax+By+C=0,则点到直线的距离d=abs(Ax+By+C)/sqrt(AA+BB)

d=| 2/15+1/6-1 |/sqrt(2)

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
24#
 楼主| 发表于 2021-2-17 09:30 | 只看该作者
〇〇 发表于 2021-2-17 08:04
Solve[{a*b==1/n,y(1-a)==c/n,x(1-b)==d/n,y==b-(b/a)x},{a,b,x,y}]的解很难读,也不知道是否在(0,1)取值范 ...

>>> for n in range(9,26):
...  for c in range(1,(n-1)//2+1):
...   for d in range(1,c+1):
...    x=(-1-c-d-n)**2-4*n*(1+d)*(1+c)
...    if x<0: break
...    else: print(n,c,d,x)
...
9 1 1 0
10 1 1 9
11 1 1 20
12 1 1 33
13 1 1 48
14 1 1 65
15 1 1 84
15 2 1 1
16 1 1 105
16 2 1 16
17 1 1 128
17 2 1 33
18 1 1 153
18 2 1 52
19 1 1 180
19 2 1 73
20 1 1 209
20 2 1 96
21 1 1 240
21 2 1 121
21 3 1 4
22 1 1 273
22 2 1 148
22 3 1 25
23 1 1 308
23 2 1 177
23 3 1 48
24 1 1 345
24 2 1 208
24 3 1 73
25 1 1 384
25 2 1 241
25 2 2 0
25 3 1 100

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
25#
发表于 2021-2-17 09:32 来自手机 | 只看该作者
你那20楼 n=10 的解要怎么解读?怎么才能代入方程让它成立?两个小三角型都是切角的一倍吗?

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
26#
 楼主| 发表于 2021-2-17 10:12 | 只看该作者
本帖最后由 〇〇 于 2021-2-17 20:52 编辑

S(10)对了,S(1000)还差很多
>>> s=0
>>> for n in range(9,11):
...  for c in range(1,(n-1)//2+1):
...   for d in range(1,c+1):
...    x=(-1-c-d-n)**2-4*n*(1+d)*(1+c)
...    if x<0: break
...    else:
...     if x==0:s+=1
...     else:s+=2
...     #print(n,c,d,x)
...
>>> s
3
>>> 345-336
9
>>> s=0
>>> for n in range(9,1001):
...  for c in range(1,(n-1)//2+1):
...   for d in range(1,c+1):
...    x=(-1-c-d-n)**2-4*n*(1+d)*(1+c)
...    if x<0: break
...    else:
...     if x==0:s+=1
...     else:s+=2
...
>>> print(s)
510985
>>> print(s*3)
1532955
>>> sum([(n-2)*(n-1)//2+(n-2)*6 for n in range(3,1001)])
169158006
>>> 172166601-169158006
3008595约差了一半

考虑到我的循环只有一半(d<=c),所以x y 的两个解不重复的情况下,还要乘2
>>> s=0
>>> for n in range(9,1001):
...  for c in range(1,n+1):
...   for d in range(1,c+1):
...    x=(-1-c-d-n)**2-4*n*(1+d)*(1+c)
...    if x<0: break
...    else:
...     if x==0:s+=1
...     else:s+=4
...
>>> s*3
3065853

这个差不多,还多了

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
27#
 楼主| 发表于 2021-2-17 12:46 来自手机 | 只看该作者
newkid 发表于 2021-2-17 09:32
你那20楼 n=10 的解要怎么解读?怎么才能代入方程让它成立?两个小三角型都是切角的一倍吗?

第一个方程是切角面积 恒为1/n第二三个是贴切边和梯形斜边的小三角形面积,可以是1/n的倍数,第四个方程是切边的直线方程,如果解的根号内为0,则有重复解

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
28#
 楼主| 发表于 2021-2-17 20:57 | 只看该作者
本帖最后由 〇〇 于 2021-2-17 21:23 编辑

在梯形(a==b,(-1-c-d-n)**2-4*n*(1+d)*(1+c)不一定==0)的情况下,一组c+d有多种排列组合,可以直接算
比如n=25,a+b=4
25 1 3
25 2 2 0
25 3 1

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
29#
 楼主| 发表于 2021-2-17 21:50 | 只看该作者
本帖最后由 〇〇 于 2021-2-17 21:57 编辑

不要用投机取巧的c,d对称,都罗列完就对了
>>> def f(n):
...  s=0
...  for c in range(1,n+1):
...   for d in range(1,n+1):
...    x=(-1-c-d-n)**2-4*n*(1+d)*(1+c)
...    if x<0: break
...    else:
...     if x==0:s+=3
...     else:s+=6
...  return s
...
>>> f(25)
33

>>> s=0
>>> for n in range(3,1001):s+=f(n)
...
>>> s
3008595
@newkid 看看有什么公式?
>>> for n in range(3,**)rint(n,f(n))
...
3 0
4 0
5 0
6 0
7 0
8 0
9 3
10 6
11 6
12 6
13 6
14 6
15 18
16 18
17 18
18 18
19 18
20 18
21 30
22 30
23 30
24 30
25 33
26 36
27 48
28 48
29 48
30 48
31 48
32 48
33 60
34 60
35 72
36 72
37 72
38 72
39 84
40 84
41 84
42 84
43 84
44 84
45 108
46 108
47 108
48 108
49 111
50 120
51 126
52 126
53 126
54 126
55 138
56 150
57 150
58 150
59 150
60 150
61 150
62 162
63 174
64 174
65 186
66 186
67 186
68 198
69 198
70 198
71 198
72 198
73 198
74 210
75 222
76 222
77 234
78 234
79 234
80 246
81 249
82 252
83 252
84 252
85 276
86 276
87 276
88 276
89 276
90 276
91 300
92 300
93 300
94 300
95 312
96 312
97 324
98 324
99 336
100 336

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
30#
发表于 2021-2-17 22:24 | 只看该作者
〇〇 发表于 2021-2-17 12:46
第一个方程是切角面积 恒为1/n第二三个是贴切边和梯形斜边的小三角形面积,可以是1/n的倍数,第四个方程是 ...

方程我看得懂,就是答案看不懂,因为在手机上分数显示不出来。你把那个不等式展开看看有没有希望简化得到公式。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表