幻符号已知,数值排列组合未知的数据压缩算法
br />
把二进制的0,变成2,把二进制的1就当1;
1+2=3;奇数个奇数相加,再加上任意个偶数,结果等于奇数,偶数个奇数相加,再加上任意个偶数,结果等于偶数;奇数乘以奇数=奇数,奇数乘以偶数=奇数,偶数乘以偶数=偶数;把奇数和偶数在作为次方号前面的底数时都取负值,然后(负值奇数)的奇数次方=(负值奇数),(负值奇数)的偶数次方=正值奇数,(负值偶数)的奇数次方=(负值偶数),(负值偶数)的偶数次方=正值偶数。
同样的道理,可以把二进制的0转换为十进制的2(偶数,还是素数),把二进制的1转换为十进制的5或7(奇数,也是素数),然后计算;
如0110001100,换算成2和7,就是2772227722
统计结果:总共有6个二进制0,四个二进制1;
加法:
2+7+7+2+2+2+7+7+2+2=40(记录为全是加法)
2+7-7+2-2+2-7+7-2+2=4(记录为奇数次为加法,偶数次为减法)
2-7+7-2+2-2+7-7+2-2=0(记录为奇数次为减法,偶数次为加法)
2+7-7-2+2-2-7+7-2-2=-4(记录为N+1为加法,N+2为减法,N+3为减法,每次N增加都是加3)
2-7+7+2-2+2+7-7+2+2=8
(记录为N+1为减法,N+2为加法,N+3为加法,每次N增加都是加3)
以此类推,只要进行的加法运算次数足够多,然后规律碰撞,就能快速得知每一位的排列顺序。
也可以使用六循环法:
第一循环(记录为N+1为减法,N+2为加法,N+3为乘法,每次N增加都是加3)
2-7+7*2-2+2*7-7+2*2=18(优先计算乘法)
2-7+7*2-2+2*7-7+2*2=16(最后计算乘法,先算加减法)
第二循环(记录为N+1为加法,N+2为乘法,N+3为减法,每次N增加都是加3)
2+7*7-2+2*2-7+7*2-2=58(优先计算乘法)
2+7*7-2+2*2-7+7*2-2=0(最后计算乘法,先算加减法,且不去除0)
2+7*7-2+2*2-7+7*2-2=126(最后计算乘法,先算加减法,且去除0)
第三循环(记录为N+1为乘法,N+2为减法,N+3为加法,每次N增加都是加3)
2*7-7+2*2-2+7*7-2+2=58(优先计算乘法)
2*7-7+2*2-2+7*7-2+2=196(最后计算乘法,先算加减法)
第四循环(记录为N+1为减法,N+2为乘法,N+3为加法,每次N增加都是加3)
2-7*7+2-2*2+7-7*2+2=-54(优先计算乘法)
2-7*7+2-2*2+7-7*2+2=-280(最后计算乘法,先算加减法)
第五循环(记录为N+1为加法,N+2为减法,N+3为乘法,每次N增加都是加3)
2+7-7*2+2-2*7+7-2*2=-14(优先计算乘法)
2+7-7*2+2-2*7+7-2*2=96(最后计算乘法,先算加减法)
第六循环(记录为N+1为乘法,N+2为加法,N+3为减法,每次N增加都是加3)
2*7+7-2*2+2-7*7+2-2=-30(优先计算乘法)
2*7+7-2*2+2-7*7+2-2=-504(最后计算乘法,先算加减法)
最后通过运算法则逆推的方式,来从最终结果,确定有限的排列方式,当然这种算法也存在碰撞交叉问题,然而这却是使用最少的运算结果数据,来逆推最多的分布排列数据(能够通过最终结果,得知结果)...
本章未完,请点击下一页继续阅读!