这周遇到了两个有趣的数学问题,觉得它们有一些比较相似的性质。所以在这里总结一下。
后面会补充和修正。
这里写出来,纯做启发。
1.十进制的基
这里的基是指一组量,这些量可以线性组合的表示出任何这个维度的量。
十进制的一组基就是一组十进制数,这组十进制数可以线性表示出任何十进制数。并且这种表示是唯一的。
线性表示,可以理解成相加运算。
十进制的一组基,即1,2,4,8,16,32,64,……即2^n(n=0, 1, 2, 3, ……)
这组数可以任意相加(相减)得到任何的一组十进制整数。
为什么这组数会是基呢?我们把它们写出二进制数就明白了。
1,10,100,1000,……
用这些数相加正好可以得到任意的二进制数,而这些二进制数和十进制数是一一对应的。
2.倒水问题
有一道智力题,说如果有无限的水,用3升和5升的无刻度水桶如何精确得到4升的水?
这道题不难,如果我们用数字表示其中的状态,A桶是3升,B桶是5升,那么其对应的步骤是
A+3,B;
A-3->B+3;
A+3,B;
A-2->B+2;
A,B-5;
A-1,B+1;
A+3;B;
A-3->B+3;
我们还可以看到很多问题,比如3升和7升的桶得到5升,6升的水等等。
那么这个问题在数学上其实有对应的抽象概念。我们先来看互质数。
互质数
两个互质数,即最大公约数为1的两个非零整数,如3和5.
互质数的判定有以下几个技巧:
(1)相邻的两个奇数是互质数。例如 49与 51。
(2)两个相差4的奇数是互质数。例如 49与 53。
(3)大数是质数的两个数是互质数。例如97与91。
(4)小数是质数,大数不是小数的倍数的两个数是互质数。例如 7和 16。
(5)1和任何自然数(0除外)都是互质数。
互质数的性质:
两个互质数一定可以通过有限次四则运算得到1.
用数学表示则是:存在整数m,n,使得互质数a,b满足ma+nb = 1;
这条性质的证明可用辗转相除法,因为辗转相除法的最后结果是1,中间结果都能线性表示。
可以表示1,那么经过一定步数之后就可以表示任何整数。
这里就是两个容量为互质数的水桶,可以取出任意整数升的水。相当于以这两个数为基经过线性运算可以得到
其它的数。
未完待续~
这里就是两个容量为互质数的水桶,可以取出任意整数升的水。相当于以这两个数为基经过线性运算可以得到
其它的数。
倒水问题的一种算法
下面是一种快速求解倒水问题的算法
用小桶容量的倍数对大桶的容量进行取余,就可以快速得到一种四则运算
比如3升和7升的桶
3%7 = 4
3*2%7 = 1
3*3%7 = 2
3*4%7 = 5
3*5%7 = 1
3*6%7 = 4
3*8%7 = 3
……3%7 = 4
3*2%7 = 1
3*3%7 = 2
3*4%7 = 5
3*5%7 = 1
3*6%7 = 4
3*8%7 = 3