求1 + 2^a + 2^(2a+1) = b^2的整数解
来源:互联网 发布:mac字体下载 编辑:程序博客网 时间:2024/04/29 15:12
题目:求所有的整数对(a,b),使1 + 2a + 22a+1 = b2成立。
解法:
显然, a=0时 b=∓2. 如果 a=1 或 a=2, b 没有整数解. 如果a=-1, b也没有整数解,如果 a<-1, 等式左边 (1 + 2a + 22a+1 ) 的值不是整数. 所以接下来只需考虑 a>2 的情况。
按下列次序转换方程:
1 + 2a + 22a+1 = b2
2a + 22a+1 = b2 - 1
2a (1+ 2a+1) = (b - 1)(b + 1)
如果a、b存在整数解, 则必定存在整数 i/j/m,使得下面3个等式成立。
i*j=(1+ 2a+1) ; ---[1] 根据该式,i、j必定为奇数.
i*2m = b-1; ---[2]
j*2a-m =b+1; ---[3]
合并[2]、[3]式可以得到:
i*2m = j*2a-m - 2;
i*2m-1 = j*2a-m-1 - 1; 根据该式,可以确定m=0 或 m=1。 (如果 m<0, 等式左边不是整数, 但右边是。如果 m>1,等式左边是偶数,)
当 m=0时,a=0,b=2。
当 m=1:
i = j*2a-2 - 1; 将该式代入[1] 可得:
(j*2a-2 - 1)*j = 1+ 2a+1;
j 2*2a-2 - j = 1+ 2a+1;
2a-2 (j 2 – 8) = j + 1; 由于 a>2 并且j 是基数, 所以j只能为 3. 当 j=3时,a=4, b=∓23.
所以总共只有4组整数解: (0, 2) 、(0, -2)、(4, 23)、 (4, -23)。
这道题是公司的一个同事在内部论坛发的问题,不知道题目的来源,我也没在网上搜索。
感谢2个同事指出了我的解法中的2个小错误。
- 求1 + 2^a + 2^(2a+1) = b^2的整数解
- 求A*f(A,B,n-1)+B*f(A,B,n-2))%7;
- 输入2个正整数A,B,求A与B的最大公约数。 Input 2个数A,B,中间用空格隔开。(1<= A,B <= 10^9) Output 输出A与B的最大公约数。
- 给出2个大整数A,B,计算A*B的结果。
- 输入2个正整数A,B,求A与B的最小公倍数。
- (1)求a+b
- (a+b)/2与a+(b-a)/2的区别
- 牛客编程1-给定区间[-2^31, 2^31]内的3个整数A、B和C,请判断A+B是否大于C。
- 给出两个整数a和b,请计算他们的和a + b,比如输入1和2,计算出结果为3。
- 不用(a+b)/2的方式求平均数
- 据说是腾讯的面试题:两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
- 当a=1,b=2,c=3时,if(a>c)b=a;a=c;c=b;的执行结果详解
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
- 两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i]
- 整数a和整数b间1的个数
- 2012腾讯 实习生笔试题目b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
- 对象={ a:1,b:2};
- VS2005使用C#编写ActvieX控件
- ABAP开发用transaction code一览
- magento -- 隐藏国家语言列表,只保留中英文
- Adobe开始反击Apple,在CNN.com网站上打出巨幅广告
- 显示系统信息(System Info)
- 求1 + 2^a + 2^(2a+1) = b^2的整数解
- 如何设置ppt,使讲演者看到备注,而观众看不到(很好,很实用!)
- 现在比较关注婚姻法
- 相同类变量
- FLTK编程模型
- 实时分布式网络中间件在航电系统中的应用
- Does SCRUM mean no more documentation?
- 如此的深圳国微!
- web service 创建excel文件