- 注册时间
- 2007-12-27
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 44813
- 在线时间
- 小时
|
如果我们假设三角形三边分别为\(a=l^2,b=m^2,c=n^2\)并且记\(x=l^4,y=m^4,z=n^4\),
那么三角形面积的平方为\(\Delta^2=2xy+2yz+2zx-x^2-y^2-z^2\).
我们还可以吧上面的表达式写成
\(\Delta^2+(x+y-z)^2=4xy\)
这个表明整数\(4xy\)可以表示成两个完全平方数之和。
由于对于一个整数如果因子分解后为\(2^a p_1^{u_1}p_2^{u_2}\cdots p_t^{u_t} q_1^{v_1}q_2^{v_2}\cdots p_s^{v_s}\), 其中\(p_h\)是模4为1的素因子,\(q_h\)为模4为3的素因子
那么由于\(2=(1+i)(1-i)\), 而对于其中每个\(p_h\),可以写成\(p_h=(a_h+b_h i)(a_h-b_h i)\).
那么上面整数可以写成两个整数平方数之和的充分必要条件所有的\(v_i\)都是偶数,而且所有表达形式可以通过上面这些基本复数表示组合而成。
由于对于我们这里的4xy,所有素数幂的次数都是偶数(对于奇素因子实际次数都是4的倍数),所以必然有解。所以我们可以对于给定的x,y, 通过枚举\(4xy\)所有分解为两个整数平方和的形式的方法来枚举所有可能的x+y-z, 然后由此求出z并且判断z是否为一个整数的4次方来确定是否是一个合法解。
计算过程中,没有可以先预先求出所有模4余1的素数分解为两个整数平方和的形式,然后搜索并且穷举每两个可能的x,y。
我们可以穷举一定范围内的,l,m , 比如如果我们目标是穷举\(l\le m \le n\le N=10^6\), 那么需要时间复杂度估计应该约等于\(O(N^2 \log(N))\). 而现在我这边已经花了10多天(8核),穷举到\(N=3*10^5\)并没有发现新的解。
为此,我们需要估算一下解的密度到底可能有多高。
搜先我们知道对于给定\(l,m, n\le N\),\(2xy+2yz+2zx-x^2-y^2-z^2\approx O(N^8)\), 而由于 \(\frac{d x^2} {dx}=2x\), 所以我们可以认为,随机选择一个正整数x,它是平方数的概率大概为\(O(\frac1{\sqrt{x}})\),
由此得出这个表达式\(2xy+2yz+2zx-x^2-y^2-z^2\approx O(N^8)\)是完全平方数的概率大概为\(O(\frac1{N^4})\). 但是其中至少一条边为N的情况的数目大概为O(N^2), 所以得到,最终数目大概为\(\int_{N=N_0}^{\infty}O(\frac{N^2}{N^4})dN\)是有限的。
但是这里的估计中,面积结果为\(O(N^8)\)是按最大情况估计的,实际上可能会略大一些。 |
|