关于求解不定方程的n(n-1)=2m(m-1)的解法的总结
2013-11-24 18:21
190 查看
主要参考下面两篇论文
1、《不定方程x(x-1)=Dy(y-1)的解法》
2、《用递推公式求一个不定方程的正整数解》
原有题目意思是
解题思路:
对C(m,2)/C(n,2) = 1/2 进行化简得到的为n(n-1) = 2m(m-1),求出n<=N的整数解的个数。
将方程两边同时乘以4得到:4n(n-1) = 8m(m-1),将其配方得到:(2n-1)2 =2(2m-1)2-1,令X=2n-1,Y=2m-1
则得到方程:X2-2Y2=-1 满足佩尔方程:x2-Dy2=Q,根据上面两篇论文,可以知道不定方程的解为
X+Y√2 = ±(1+√2)2n+1,n = 0,±1,±2,±3,………
方程X2-2Y2=-1 满足x > 1,y>1的整数解可以用递推公式表示即
x1=7,y1=5,
xk+1=2xk+4yk, 其中k=1,2,3............
yk+1=2xk+3yk
注意最后要去掉(1,1)及所有的偶数解(因为X=2n-1,Y=2m-1,X,Y必须是奇数)
python版的源代码为:
1、《不定方程x(x-1)=Dy(y-1)的解法》
2、《用递推公式求一个不定方程的正整数解》
原有题目意思是
记得有一次全班去唱K, 其中有个活动是情歌对唱. 具体操作流程是这样的: 准备好 21 个阄(我们班 15 男 6 女), 其中只有两个是有标记的, 每人随意抓取一个, 最后取到有标记的阄的两个人去点首情歌对唱. 旁边一哥们儿幽幽地对我说, 看来搅基真是神的安排啊, 你看我们班的男女人数, 搅基的几率 C(15,2)/C(21,2) 刚好是 1/2. 给跪了, 这哥们儿对数字太敏感了, 简直是拉马努金转世啊. 不过我随之想到一个问题: (21, 15) 真的是神的唯一安排吗? 其实不是的, 神还有很多类似的安排. 比如 (4, 3), 显然 C(4,2)/C(3,2) 也等于 1/2, 当然还有 (120, 85) 等等等等. 神的安排太多太多了, 如果我们定义 (n, m) 是一个安排(其中 1 < m < n), 而如果 C(m,2)/C(n,2) = 1/2, 它就是神的安排. 现在的问题是, 给你一个不大于 10^9 的正整数 N, 有多少组神的安排 (n, m) 满足 n <= N 呢?
解题思路:
对C(m,2)/C(n,2) = 1/2 进行化简得到的为n(n-1) = 2m(m-1),求出n<=N的整数解的个数。
将方程两边同时乘以4得到:4n(n-1) = 8m(m-1),将其配方得到:(2n-1)2 =2(2m-1)2-1,令X=2n-1,Y=2m-1
则得到方程:X2-2Y2=-1 满足佩尔方程:x2-Dy2=Q,根据上面两篇论文,可以知道不定方程的解为
X+Y√2 = ±(1+√2)2n+1,n = 0,±1,±2,±3,………
方程X2-2Y2=-1 满足x > 1,y>1的整数解可以用递推公式表示即
x1=7,y1=5,
xk+1=2xk+4yk, 其中k=1,2,3............
yk+1=2xk+3yk
注意最后要去掉(1,1)及所有的偶数解(因为X=2n-1,Y=2m-1,X,Y必须是奇数)
python版的源代码为:
N=100 cnt = 0 x,y=1,1 while x<= 2*N-1: x,y=3*x+4*y,2*x+3*y if x > 2*N-1: break if x%2 and y%2: cnt +=1 print cnt
相关文章推荐
- 关于递归的总结——汉诺塔、素因数的求解(Python实现)
- 关于求解大数素数的高效解法
- 关于基本最短路求解总结
- 关于欧几里得算法和拓展欧几里德定理的证明(不定方程求解方法)
- 关于322. Coin Change的解法与总结
- 关于求解最大子序列和问题的总结
- 关于路径的一些总结
- 关于ASP.NET页面打印技术的总结
- 总结关于raw_input()同input()的操作区别
- 关于项目估算和项目总结
- 关于CString的总结
- 关于线程与多线程的一些总结
- 关于OpenSocial讨论的总结
- 关于win32环境下多线程编程的总结
- 关于typedef的用法总结
- 关于java.io的一点总结
- 关于 ProGuard 的一些踩坑总结
- 关于部分常量,变量等相关概念的总结
- Agile Web Application Development with Yii 1.1 and PHP5 读后总结(3)关于书中的那个TrackStar
- 关于Yeoman使用的总结