心理

当前位置 /首页/完美生活/心理/列表

保险柜密码推算公式

保险柜密码推算公式

迭代分析第n次的密码计算公式

X0 = 0000 0001

X1 = (3 * X0) % 108 + (3 * X0) / 108,显然,X1< 108

X2 = (3 * X1) % 108 + (3 * X1) / 108

= {3 * [(3 * X0) % 108 + (3 * X0) / 108]} % 108 + {3 * [(3 * X0) % 108 + (3 * X0) / 108]} / 108

   = {3 * [(3 * X0) % 108]} % 108 + {3 * [(3 * X0) / 108]}(显然其值<9) % 108 

      + {3 * [(3 * X0) % 108 ]} / 108 + {3 * [(3 * X0) / 108]} / 108(显然其值趋于0)

   = (32 * X0) % 10(由分配率得) + (32 * X0) / 108 + [(32 * X0) % 108 ] / 108(趋于0忽略) + 0

   = (32 * X0) % 10 + (32 * X0) / 108

X3 = (33 * X0) % 10 + (33 * X0) / 108

以此类推可得:

Xn = (3n * X0) % 10 + (3n * X0) / 108

又因:X0 = 1,所以:Xn = 3n % 10 + 3n / 108

关于计算3n:

1、简单处理的话可以n个3联乘,时间复杂度O(n),当n较大时比较耗时,此题暂时不考虑大数问题

2、当n为偶数时,3n=[3(n/2)]2,当n为奇数

TAG标签:保险柜 公式 推算 #