天才一秒记住本站地址:[乐书网]
https://www.leshuxs.org/最快更新!无广告!
把二进制的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+77+22+27+72+2=4(记录为奇数次为加法,偶数次为减法)
27+72+22+77+22=0(记录为奇数次为减法,偶数次为加法)
2+772+227+722=4(记录为N+1为加法,N+2为减法,N+3为减法,每次N增加都是加3)
27+7+22+2+77+2+2=8
(记录为N+1为减法,N+2为加法,N+3为加法,每次N增加都是加3)
以此类推,只要进行的加法运算次数足够多,然后规律碰撞,就能快速得知每一位的排列顺序。
也可以使用六循环法:
第一循环(记录为N+1为减法,N+2为加法,N+3为乘法,每次N增加都是加3)
27+7*22+2*77+2*2=18(优先计算乘法)
27+7*22+2*77+2*2=16(最后计算乘法,先算加减法)
第二循环(记录为N+1为加法,N+2为乘法,N+3为减法,每次N增加都是加3)
2+7*72+2*27+7*22=58(优先计算乘法)
2+7*72+2*27+7*22=0(最后计算乘法,先算加减法,且不去除0)
2+7*72+2*27+7*22=126(最后计算乘法,先算加减法,且去除0)
第三循环(记录为N+1为乘法,N+2为减法,N+3为加法,每次N增加都是加3)
2*77+2*22+7*72+2=58(优先计算乘法)
2*77+2*22+7*72+2=196(最后计算乘法,先算加减法)
第四循环(记录为N+1为减法,N+2为乘法,N+3为加法,每次N增加都是加3)
27*7+22*2+77*2+2=54(优先计算乘法)
27*7+22*2+77*2+2=280(最后计算乘法,先算加减法)
第五循环(记录为N+1为加法,N+2为减法,N+3为乘法,每次N增加都是加3)
2+77*2+22*7+72*2=14(优先计算乘法)
2+77*2+22*7+72*2=96(最后计算乘法,先算加减法)
第六循环(记录为N+1为乘法,N+2为加法,N+3为减法,每次N增加都是加3)
2*7+72*2+27*7+22=30(优先计算乘法)
2*7+72*2+27*7+22=504(最后计算乘法,先算加减法)
最后通过运算法则逆推的方式,来从最终结果,确定有限的排列方式,当然这种算法也存在碰撞交叉问题,然而这却是使用最少的运算结果数据,来逆推最多的分布排列数据(能够通过最终结果,得知结果)
记录的时候,只需要记录最终结果,各种条件的最终结果
当然了,还有先算加法和乘法,再算减法;先算减法和乘法,再算加法;先算加法和减法,再算乘法;以及各种扩展运算限制,加多运算量生成的结果,然后减少碰撞量,从而能够用最少的(按照规则运算之后得到的结果)数据来表达最多的数据
理论上讲,随着算式长度的增加,碰撞交叉出现的次数就会越来越多;
例如:A?B?C?D?E?F?……Y?Z?AA?AB?AC?……ZX?ZY?ZZ?AAA?AAB?AAC?……………………ZZZZZZZZZZZZZX?ZZZZZZZZZZZZZY?ZZZZZZZZZZZZZZ;其中就很有可能出现碰撞交叉;如同MD5的碰撞破解一样,两者的MD5值一样,然而内容却不全等。
怎么办?
这个时候就更容易了,在什么情况下,+2出现过多少次;2重选过多少次;*2出现过多少次;+7出现过多少次;7重选过多少次;*7出现过多少次;+22出现过多少次,+77出现过度少次,2+2出现过多少次,7+7出现过多少次(加减抵消为0);(什么运算符号)(什么数值)(什么运算符号)(什么数值)各出现过多少次;定义(什么运算符号)(什么数值)=(一个运算小组);(一个运算小组)(一个运算小组)(一个运算小组)各出现过多少次;(一个运算小组)(一个运算小组)(一个运算小组)(一个运算小组)各出现过多少次;(一个运算小组)(一个运算小组)(一个运算小组)(一个运算小组)(一个运算小组)各出现过多少次;然后就是越来越长的统计数据,用来减少碰撞交叉,以及淘汰碰撞交叉的错误分支。
计算的时候,把带数据每一位中间都加上运算符号,然后运算出结果,把结果记录为带运算符号或不带运算符号的数值(如果数足够大,那么就只能使用带运算符号来减少所占用存储空间长度);
然后解压缩的时候,就进行运算符号逆推,以及排列组合逆推,可如果真就可以使用量子计算机,就可以进行快速的穷举并列运算,最终把碰撞成功的唯一结果导出(如果是多个符合结果,那么就采取更多筛选条件)(同样的,压缩时,就要进行解压缩运算,不能只等到解压缩时,才发现等式并不是唯一,而是有多种结果,最常见的,就是75=2;然而2不仅可以=75,还能等于10098)。
章节错误,点此报送(免注册),
报送后维护人员会在两分钟内校正章节内容,请耐心等待。