|
|
一道经典的数论思维题
原创 吴小鱼 1024 原本 1024 2025 年 11 月 2 日 14:06 上海
前言:这是欧拉代数学基础课后的一道习题。
题目:将数 2、3、5、7、11、13、17 分为两组,每组的数相乘,使得乘积之差为 1 。
分析:这道题不要盲目去凑,这样既耗时间,也无法形成清晰的思维去解答;尝试逆向去思考这个问题;可以先求解出这两组数的乘积分别为多少,然后再对这些乘积进行质因数分解即可。因为所给的数全部都是质数,反向去把这个问题给解决。
参考思路:
解:假设这两组数的乘积分别为 a, b ,并且 a+1=b 。
并且 ab 的乘积应该就是这些质数的乘积:510510 。
考虑到 a、b 是相邻的数,其乘积应该是非常接近一个平方数。
首先缩小范围:很明显 510510 距离最近的「整百」数是 700 × 700 = 490,000 。
a、b 两个数的十位数也是一样的,这里立刻算出 710 × 710 、720 × 720 。
这两个平方数分别为:504100 、518400 。
因此 710 < a < b < 720 。
考虑到 510510 的个位数为 0 ,那么 a,b 的个位数要么是 4、5 或者 5、6 相乘才能保证 ab 的乘积个位数是 0 。
经过计算:714 × 715 =510,510 。
只要对 a=714 , b=715 进行质因数分解即可,a 是偶数,b 的尾数是 5 ,又可以缩小质因数分解的范围。
714 = 2 × 357 = 2 × 3 × 119 = 2 × 3 × 7 × 17 。
715 = 5 × 11 × 13 。
因此:这组数可分为两组,分别为 2、3、7、17 和 5、11、13 。
结尾:这种估算的方法在欧拉《代数学基础》中是非常朴素实用的方法,无论是在讲解分数的概念、平方根的无理性、制作对数表,就是通过这种“夹逼法”的思路,先把要求的解限定在很小的范围,通过简单试算的方法就可逼近真值。另外记住九九乘法表、常用的平方数(100 以内)、100 以内的质数,还是很有必要的,数学要背诵的内容其实很少,有时间花点功夫在这些基础上面,可以大幅提高计算速度和准确率。
原本 1024
|
|